Scripting 创建时间戳目录的批处理文件出现语法错误

Scripting 创建时间戳目录的批处理文件出现语法错误,scripting,syntax-error,batch-file,Scripting,Syntax Error,Batch File,我尝试了下面的脚本在我的一个驱动器中创建时间戳目录,由于某种原因,在创建目录的最后一个字符串上出现了语法错误。见下文 :: 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 de

我尝试了下面的脚本在我的一个驱动器中创建时间戳目录,由于某种原因,在创建目录的最后一个字符串上出现了语法错误。见下文

:: 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....

我在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上的日期/t和时间/t输出的格式是什么?

您确定您的日期以mm.dd.yyyy的形式返回,以点分隔,并且字段的顺序与您期望的一致吗?如果进程的区域设置与您期望的不同,您可能会以%Day%结束,类似于8/17/2010,这将导致md在尝试将/17和/2010解释为选项时报告语法错误。

您运行的Windows版本是什么?当我尝试与上面类似的操作时,month设置为08/17/2010,这将导致在md命令行中替换month时出现语法错误。Windows XP Professional。是的,日期输出应取决于区域设置。然而,我不知道这是否适用于XP,因为我不再安装任何系统。