2015-10-15 82 views
0

我想從源目錄中獲取文件(C:\Users\Desktop\Source\Test.xlsx),並希望將其複製到多個文件夾,所有文件夾都具有相同的結構。所以我必須更改一個文件夾名稱。全部通過一個批處理文件完成,並且只有一個日誌文件在之後創建。批處理:將目錄列表保存到列表變量

要具有動態擴展我的批處理程序在這裏,我想要做的根文件夾(C:\Users\Desktop\Replica\),這說明我在哪裏的文件需要孩子的(onetwothreefourfive)的元素的過濾在testfolder內複製。在那裏,我已經做了的那一刻,這是靜態的以下內容:

set "list=one two three four five" 
(
for %%i in (%list%) do (
    xcopy "C:\Users\Desktop\Source\Test.xlsx" "C:\Users\Desktop\Replica\%%i\testfolder" /Y 
echo(%%i 
echo(
) 
)>copylog.txt 

所以,我的問題是,基本上我做誰只是文件夾的上市「副本」下,並把這些變量列表中,我可以使用內在已編寫的代碼中。我只發現這些資源只保存在一個單獨的.txt文件中,但我只想保留在批處理中。

對此有任何猜測?順便說一句:我通過保存一個路徑作爲一個變量,我不能執行xcopy %source% %target%(即使有「%source%」或source = "Path")。這裏有什麼問題?

回答

0

您不需要搜索目錄,將它們放入一個變量,然後迭代變量中的值。只需遍歷目錄

... 
for /d %%i in ("C:\Users\Desktop\Replica\*") do (
    xcopy /y "C:\Users\Desktop\Source\Test.xlsx" "%%~fi\testfolder" 
... 

for /d將迭代指定的一組目錄。在xcopy命令%%~fi用於檢索當前迭代的目錄的完整路徑。

+0

謝謝,這很好。我只是忘記了/ *想法...批次對我來說是比較新的 - 即使它很舊。 – Kaibear

相關問題