請幫助!我是批處理文件的新手,並且有一個非常具體的問題。我試圖通過for循環將多個子目錄中的許多文件複製到單個目錄中,同時爲每個名稱附加一個時間戳(因爲所有文件都具有相同的名稱)。我正在使用系統變量時間並在循環內解析它,但循環內的局部變量被分配了垃圾。我已經知道延遲擴展和使用!簽署而不是%,但這不幫助我。這裏是代碼:如何在批處理文件中的for循環中複製文件時添加時間戳
@echo off
SetLocal EnableDelayedExpansion
set counter=1
echo in the beginning the counter is "%counter%"
:loop
for /r "c:\users\wimdu\dropbox\wimdu CRM\emarsys reports - campaigns" %%f in (bounce*.*) do (
set a = %time::=%
echo in loop a equals "!a!"
echo the time is !time!
set b=!a:,=!
copy /y "%%f" c:\users\wimdu\documents\bouncehandling\bouncecsvfiles\%b%.csv
)
EndLocal
因此,基本文件的名稱將是10151821.csv,例如(時間戳包括毫秒)。理想情況下,它應該是原始文件名(反彈)與帶.csv擴展名的時間戳連接起來。我已經嘗試了一切,但與時間戳似乎沒有工作,只是沒有得到正確分配。然後b也是。我不知道如何解析,然後將其分配給b!跡象。請幫忙!!
我也試過,當我分配=!時間!它也會做垃圾,然後在文件路徑中保存!b!不被讀爲值,而是字符串「!b!」或其他奇怪的事情。 – zima
好吧,現在我已經想通了,謝謝你,你的回答幫助我解決了這個問題! – zima