2016-08-10 209 views
0

我正在嘗試使用批處理文件創建文件夾。文件夾名稱應該採用格式 - yyyymmdd-hhmm。我開始使用下面的代碼,但是我將yyyymmdd-作爲一個文件夾,將hhmm作爲另一個文件夾。但是當我在13點以後試過時,我得到了yyyymmdd-hhmm格式。爲什麼早上9點45分會有不同的行爲。我不知道。任何幫助讚賞。使用批處理文件創建文件夾名稱

For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c%%a%%b) 
For /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a%%b) 
mkdir %mydate%-%mytime% 

我得到的1個文件夾 - > 20160810-和其他文件夾 - > 945

回答

3

「我得到的1個文件夾 - > 20160810-和其他文件夾 - > 945」

這是因爲空間太大,所以mkdir看到兩個參數,因此創建了兩個文件夾。

要麼把qoutes圍繞新的文件夾名

mkdir "%mydate%-%mytime%"` 

或(也許更好)與替代空間零:

mkdir %mydate%-%mytime: =0% 

把qoutes各地反正不會傷害:

mkdir "%mydate%-%mytime: =0%" 

(順便說一句:有一種方法來get a date-time-string independent of local settings

+0

謝謝。有效。但不是文件夾名稱 - > 20160810-945,我可以得到 - > 20160810-0945 – Arnold

+0

這應該做的。如果沒有,請讓我知道'echo - %time%-'的輸出(請在上午10:00之前) – Stephan

+0

好的,我會在上午10點之前測試它。順便說一句,當我試圖mkdir「%mydate% - %mytime:= 0%」它沒有創建一個文件夾,它創建一個文件名爲yyyymmdd- – Arnold

相關問題