2015-05-04 53 views
1

文件名,我被卡住的一個基本問題:(批,閱讀文件,複製像

我想讀一個批處理文件一個txt文件,複製文件名稱,如在文件中找到一個新的目錄

例:
- 我的src文件夾包含Microsoft KB(以防萬一300檔)具有類似名稱的 「Windows 6.1 KBxxxxx.msu」
- 我的文件[KB.Txt]是這樣的:
KB320000
KB320001
- dst文件夾爲空

... 所以我只想KB從SRC我KB.txt複製到DST

我的批處理如下所示:

set src=%~dp0\src 
set dst=%~dp0\dst 
set file=%~dp0KB.txt 

for /f "delims=" %%i in (%file%) do (
xcopy "%src%\%%i" "%dst%\%%i" /i /z /y /s 
) 

這不起作用,因爲腳本只嘗試複製確切的名稱。 我用通配符測試沒有成功......我做錯了什麼?

謝謝!

+0

我認爲'COPY'支持通配符... – npocmaka

回答

2
set src=%~dp0\src 
set dst=%~dp0\dst 
set file=%~dp0KB.txt 

for /f "delims=" %%i in (%file%) do (
    copy /y "%src%\*%%i*" "%dst%\" 
) 

複製命令支持通配符,所以用星號代替%%i應該可以工作。 對文件使用XCOPY(該命令是爲文件夾設計的)是一個壞主意,因爲它會提示您是否要創建目標目錄。