我試圖使用以計算機名稱開頭並帶有下劃線和日期戳記的DOS批處理文件複製目錄的內容。我的第一個衝動是一些變化:如何複製具有日期戳記的目錄
copy D:\%Computername%_\*\\*.* C:\WhateverPath
當然,我不能得到這個工作。看起來像一個簡單的問題,但我沒有太多的批處理文件或DOS的經驗。
我試圖使用以計算機名稱開頭並帶有下劃線和日期戳記的DOS批處理文件複製目錄的內容。我的第一個衝動是一些變化:如何複製具有日期戳記的目錄
copy D:\%Computername%_\*\\*.* C:\WhateverPath
當然,我不能得到這個工作。看起來像一個簡單的問題,但我沒有太多的批處理文件或DOS的經驗。
嘗試:
FOR /d %d IN (D:\%COMPUTERNAME%_*) DO xcopy %d C:\WhateverPath /E
這遍歷所有目錄(因此/d
)與圖案%COMPUTERNAME%_*
D:\
下,並會將這些目錄的內容爲C:\WhateverPath
。 /E
用於複製所有文件和目錄,也是空的。
有關xcopy的文檔,請在DOS shell(cmd)中輸入xcopy /?
。
注:如果你把這個批處理文件(something.bat),你必須在上面的代碼替換%%d
%d
。
如果有多個文件夾標記C:\%computername%_%random_time_stamp%\
,你需要訪問他們每個人,然後他們所有的內容移動到一個文件夾,你可以這樣做:
鑑於路徑中唯一下劃線之間的一個%計算機%和您的時間戳
FOR /F "USEBACKQ tokens=*" %%F IN (`DIR /b /a:d "C:\" ^| FIND /I "%computername%_"`) DO (
COPY /y "%%~fF\*" "C:\WhateverPath\"
)
這對於來自命令每個結果指出DIR,/ b開關意味着沒有頭信息,/ A:D意爲只返回目錄,我想找到只與文件夾computername_,並且我想將這些文件夾中的每一個的內容複製到C:\ WhateverPa th \文件夾。
原因不起作用的原因是您不能在目錄名稱中指定通配符,只能在文件名中指定。 如果您有多個具有多個時間戳的文件夾,您可以指定嗎?你是否希望這些文件夾中的所有文件進入相同的文件夾?你是否希望讓它們進入具有相同時間戳的文件夾? – Mechaflash