2015-11-01 111 views
1

我在c:\ folders目錄中有一個文件夾,其中有大約6000個以不同數字命名的子文件夾,每個子文件夾還有另外2個稱爲「medium」和「thumbs」的子文件夾。將特定文件批量複製到所有目錄和子目錄

我需要將位於c:\文件夾中的名爲index.html的文件複製到所有6000文件夾以及6000個文件夾中每個文件夾的所有介質和大拇指子文件夾中。

我試圖建立一些批處理代碼這樣

for /D %%D in ("C:\folders\*.*") do (
pushd "%%~D" 
copy "index.html" 
copy "index.html" "medium\" 
copy "index.html" "thumbs\" 
popd 
) 

,但是這是行不通的。我究竟做錯了什麼?

+0

問題是,您沒有指定源文件'C:\ folders \ index.html'的完整路徑,這是您在每個'for'循環迭代中更改工作目錄時必需的;其餘的代碼應該沒問題... – aschipfl

回答

2

這應該做的工作,如果它是爲每一個子文件夾

set "source=full path of index.html" 
for /f "delims=" %%D in ('dir /b /s /ad "C:\folders\*") do (
    copy "%source%" "%%~D" 
) 

編輯:
抑制控制檯輸出在copy命令行添加>nul
不覆蓋的index.html文件,通過echo n|copy /-y更換copy

set "source=full path of index.html" 
for /f "delims=" %%D in ('dir /b /s /ad "C:\folders\*") do (
    echo n|copy /-y "%source%" "%%~D">nul 
) 

http://ss64.com/nt/copy.html

相關問題