2010-08-17 79 views
0

我試過下面的腳本在我的一個驅動器中創建一個時間戳目錄,出於某種原因給我一個語法錯誤的最後一個字符串,它創建目錄。見下文。批處理語法錯誤文件來創建一個時間戳目錄

:: Code begins.... 
pause 
W: 
pause 
cd W:\VL2000_AMF\AMF_Archive 
pause 
for /F "tokens=1-4 delims=. " %%i in ('date /t') do (
set Day=%%i 
set Month=%%j 
set Year=%%k 
) 
pause 
for /F "tokens=1-4 delims=: " %%i in ('time /t') do (
set Hour=%%i 
set Minute=%%j 
set Second=%%k 
) 
pause 
md %1\%Year%-%Month%-%Day% 
pause 
:: Code ends.... 
+0

您正在使用哪個版本的Windows?當我嘗試類似於上述內容時,月份設置爲「08/17/2010」,這將導致語法錯誤,將其替換爲md命令行時。 – joast 2010-08-17 14:27:14

+0

Windows XP Professional。 – Patron0119 2010-08-17 14:38:38

回答

0

我在Windows 2000和2003上使用以下命令從date命令輸出獲取年份,月份和日期。不幸的是,我不再有任何XP系統,看看它是否能在那裏工作。

for /F "tokens=2-4 delims=/ " %%i in ('date /t') do (
echo "Day=%%i" 
echo "Month=%%j" 
echo "Year=%%k" 
) 

XP上的「date/t」和「time/t」輸出格式是什麼?

+0

取決於語言環境,我期望。 – 2010-08-17 14:54:10

+0

是的,日期輸出應取決於區域設置。但是,我不知道XP是否是真的,因爲我沒有安裝任何系統。 – joast 2010-08-17 15:00:05

0

你確定你的日期是作爲mm.dd.yyyy回來嗎(用點分開,並且按照你期望的順序分開)?如果進程的語言環境不符合您的期望,那麼您可能會以%Day%結尾,如8/17/2010,這會導致md在嘗試將/17/2010解釋爲選項時報告語法錯誤。