我有一個包含例如文本文件:複製列表
c:\test\test1.txt;d:\test2\j.js;d:test2\2.cs
我需要複製那些使用Windows命令行bat文件給定分隔的文件傳遞給bat文件的文件夾。我怎樣才能做到這一點?
我有一個包含例如文本文件:複製列表
c:\test\test1.txt;d:\test2\j.js;d:test2\2.cs
我需要複製那些使用Windows命令行bat文件給定分隔的文件傳遞給bat文件的文件夾。我怎樣才能做到這一點?
很容易,實際上是:
for /f %%l in (somefile.txt) do (
for %%f in (%%l) do (
copy "%%f" %1
)
)
第一循環遍歷行明智過的文件;第二個將以分號分隔(以及其他事物,例如空格和逗號)。如果文件名稱看起來像你提供的那樣,它應該工作。
如果複製目標(S)看起來像也只是增加兩個循環,明顯:
for /f %%l in (somefile.txt) do (
for %%f in (%%l) do (
for /f %%k in (destination.txt) do (
for %%g in (%%k) do (
copy "%%f" %%g
)
)
)
)
您可以從文件列表中的文件複製與下面的批處理文件命令:
for /f "usebackq delims=;" %%f in (filelist.txt) do copy %%f %1
假設Filelist.txt中有一個單獨的行每個文件名:
c:\test\test1.txt;
d:\test2\j.js;
d:\test2\2.cs
不知道如何儘管解析單行。
工作像一條線分隔文件的魅力,正是我需要的.... – DSharper 2011-04-28 03:46:57
什麼如果我需要複製目標將是這樣的 – DSharper 2011-04-28 08:56:13
@Joey當我運行--------------- for/f %% l(d:\ BuildServer \ BuildScripts \ sourceFilelist.csv) do(for %% f in(%% l)do(for %% k in(d:\ BuildServer \ BuildScripts \ Destinationlist.csv)do(for %% g in(%% k)do(copy「%% f 「%% g))))------------- Destinationlist.csv文件替換爲源文件列表,並最終將其內容替換爲源文件列表的最後一個文件,並將cmd輸出打印% g和%k作爲字符自我,即不與分配給他們的值沒有工作,因爲我期望 – DSharper 2011-04-28 10:51:08