2014-06-19 50 views
0

我想在所有子目錄中用另一個圖像替換一個圖像,但DIR(/ s)的遞歸功能無法識別以數字開頭的文件夾。例如,它會替換目錄「的例子/ image.txt」的文件,而不是「1234文件夾/ image.txt」DIR遞歸無法識別以數字開頭的文件夾

@ECHO off 
dir /s /b image.jpg >> FileListing.txt 

echo Image replaced in the following folders: >> ImageLocations.txt 
for /f %%a in (FileListing.txt) do (
    echo %%a >> ImageLocations.txt 
    xcopy /f /q "%CD%\Image.jpg" "%%a" 

) 
del FileListing.txt 
+0

問題可能是文件夾名稱中的空格,而不是數字。嘗試使用echo on重新運行您的腳本,以確切查看運行的命令,並記下任何錯誤消息。 –

回答

1

for /f命令,默認情況下,將嘗試來標記使用空格輸入線和製表符作爲標記之間的分隔符。如果您的文件/文件夾的名稱中包含空格,則只會檢索空格之前的部分。爲避免它,通過將分隔符設置爲空列表來禁用行分割

for /f "delims=" %%a in (FileListing.txt) do (
.... 
相關問題