我很確定FOR命令將處理這個放置我似乎無法得到正確的語法(總是吸入編程)。通過子目錄,並創建一個文件的副本,如果它存在
我想通過所有的子目錄指定的父目錄下,如果dog.txt文件在該子目錄存在,使得它的一個副本叫cat.txt
這是我得到的最接近,但它的父目錄把cat.txt:
for /r %f in (dog.txt) do copy %f cat.txt
我很確定FOR命令將處理這個放置我似乎無法得到正確的語法(總是吸入編程)。通過子目錄,並創建一個文件的副本,如果它存在
我想通過所有的子目錄指定的父目錄下,如果dog.txt文件在該子目錄存在,使得它的一個副本叫cat.txt
這是我得到的最接近,但它的父目錄把cat.txt:
for /r %f in (dog.txt) do copy %f cat.txt
你很近,你只需要使用路徑從找到的文件也。還應該防止路徑/文件中有空格。在文件名中沒有通配符的情況下,您可能會發現for循環會嘗試複製到每個目錄中,無論是否存在文件,以避免添加通配符或使用(如果存在)。
for /r %f in (dog.txt) do if exist "%f" copy "%f" "%~dpfcat.txt" /y
和一個警告,如果你把它放在bat文件中,你需要轉義%符號。
for /r %%f in (dog.txt) do if exist "%%f" copy "%%f" "%%~dpfcat.txt" /y
你真的在運行DOS而不是Windows?你是八十年代的時間旅行者嗎? – Barmar 2014-10-04 00:51:08
@Barmar自動化是未來的事情不是從過去 – 2014-10-04 01:06:11
我很樂於接受創意! – MikeDC 2014-10-04 01:48:07