2011-08-31 56 views
1

我試圖使用以計算機名稱開頭並帶有下劃線和日期戳記的DOS批處理文件複製目錄的內容。我的第一個衝動是一些變化:如何複製具有日期戳記的目錄

copy D:\%Computername%_\*\\*.* C:\WhateverPath 

當然,我不能得到這個工作。看起來像一個簡單的問題,但我沒有太多的批處理文件或DOS的經驗。

+0

原因不起作用的原因是您不能在目錄名稱中指定通配符,只能在文件名中指定。 如果您有多個具有多個時間戳的文件夾,您可以指定嗎?你是否希望這些文件夾中的所有文件進入相同的文件夾?你是否希望讓它們進入具有相同時間戳的文件夾? – Mechaflash

回答

1

嘗試:

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

1

如果有多個文件夾標記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 \文件夾。

相關問題