我有兩個文本文件... files.txt
包含文件名列表和dirs.txt
包含文件需要複製到的目錄列表。
這是怎樣的文件需要拷貝:批量將文件從文件列表複製到文件夾列表
File 1 ------------------------> Folder 1
File 2 ------------------------> Folder 2
File 3 ------------------------> Folder 3
如何實現這個使用批處理?在此先感謝...
我有兩個文本文件... files.txt
包含文件名列表和dirs.txt
包含文件需要複製到的目錄列表。
這是怎樣的文件需要拷貝:批量將文件從文件列表複製到文件夾列表
File 1 ------------------------> Folder 1
File 2 ------------------------> Folder 2
File 3 ------------------------> Folder 3
如何實現這個使用批處理?在此先感謝...
好吧,我設法弄清楚了......謝謝this來自@foxidrive的回答。這裏是代碼:
@echo off
setlocal enabledelayedexpansion
set /A i=0
for /F "usebackq delims==" %%a in (files.txt) do (
set /A i+=1
call set array1[%%i%%]=%%a
call set n=%%i%%
)
set /A i=0
for /F "usebackq delims==" %%a in (dirs.txt) do (
set /A i+=1
call set array2[%%i%%]=%%a
)
for /L %%i in (1,1,%n%) do call copy "%%array1[%%i]%%" "%%array2[%%i]%%"
這絕對不是最好的解決方案......但它的工作原理!
謝謝大家的幫助。
試試這個:
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in (files.txt) do (
set /p dir=
echo copy "%%~a" "!dir!"
)<dirs.txt
pause
上述工作 - 莫納可以修改或刪除以下內容:
setlocal enabledelayedexpansion
3<dirs.txt(
for /f "delims=" %%a in (files.txt) do (
set /p dir=<&3
copy "%%~a" "!dir!"
)
)
而且應該做你想做的。請注意,如果dirs.txt的行數少於files.txt,則會失敗。
Mona。
不幸的是這似乎並沒有工作.. 這就是我得到: 'E:\> cmd.bat E:\> SETLOCAL enabledelayedexpansion 該命令的語法不正確。 E:\> 3
見上文編輯 - 它只是回聲命令屏幕 – foxidrive
嗨@foxidrive ......我想你的編輯但是它是。將所有文件複製到'dirs.txt'中的** 1st **項目'Folder 1'。 – user2966174
請說明downvote的原因...我是否需要提供更多信息? – user2966174
我不知道爲什麼這是downvoted,(這是類似的一些其他問題),但這個問題沒有錯。 – Monacraft
只有一個文件進入每個文件夾? – foxidrive