2012-02-07 38 views
0

這很難說,但我會盡我所能。我想要做的是基本上備份備份。我在FOLDER1中有幾個文件和文件夾。我想要做的是創建一個批處理文件,將我的文件和文件夾從FOLDER1移動到FOLDER2。同時,每次我運行這個批處理文件時,我都希望它在FOLDER2中創建一個文件夾,將月份,日期,年份和時間作爲文件夾名稱,因爲我將每天運行該批處理,而且我不希望它覆蓋我以前的文件。無論如何要這樣做。需要幫助使批文件做某些事情

謝謝

回答

1

您可以使用日期%%變量來創建一個文件夾名。你可以看到這一點

echo %date% 

這將產生07/02/2012(我英國的機器上; 2月7日)

要提取日,月,年的各個組成部分,使用串%日期: 〜OFF,LEN%其中OFF是開始提取的基於零的偏移量,LEN是提取的長度,以字符爲單位。

創建一個文件夾名稱到一個變量,DEST:

set dest=%date:~3,2%_%date:~0,2%_%date:~6,4% 

現在,您可以將文件移動到這個文件夾:

move src %dest% 
+0

好的。但我唯一的問題是文件夾名稱不能包含「/」標記。有什麼辦法呢?感謝您的幫助 也可以給我一個例子,讓我可以直觀地看到它嗎? – 2012-02-07 22:00:14

+1

該答案不包含「/」標記,它將在約定MM_DD_YYYY中創建一個文件夾。你可以說得更詳細點嗎? – cdmh 2012-02-07 22:27:33

0

您可以使用WMIC獲取UTC格式的日期/時間這適用於文件或目錄名稱。這種技術的美妙之處在於它完全獨立於語言環境。如果你想要,你可以去掉時區信息,如下所示。

for /f "tokens=2 delims==" %%A in ('wmic os get localdatetime /value') do set dateTime=%%A 
set dateTime=%dateTime:~0,18% 

的日期時間將有格式YYYYMMDDhhmmss.ddd

YYYY =年
MM =月
DD =天
HH =小時(24)
毫米=分鐘
ss =秒
ddd =小數秒