无法运行BAT文件以生成自定义日期?

时间:2012-10-08 21:22:54

标签: batch-file dos windows-shell

我在DOS shell中运行以下代码来生成一个SCR文件,然后我将用它来连接到FTP服务器并下载文件。

echo open myftp.mywebsite.com >> myscript.SCR
echo myusername >> myscript.SCR
echo mypassword >> myscript.SCR
echo lcd "C:\myfolder" >> myscript.SCR
echo cd outgoing >> myscript.SCR

以上运行正常,但BAT文件被以下代码挂起

for /F "tokens=2-4 delims=/ " %i in ('date /t') do echo get mydownloadfile_%k%i%j.TXT >> myscript.SCR

任何人都知道解决方法吗?谢谢!

2 个答案:

答案 0 :(得分:0)

虽然很丑,但你可以使用日期/时间切片,例如:

echo %date:~10,4%-%date:~4,2%-%date:~7,2%_%time:~0,2%-%time:~3,2%-%time:~6,2% >> mydate.scr

此特定字符串取决于语言环境,仅适用于美国语言环境。对于其他语言环境,您需要调整索引。

答案 1 :(得分:0)

根据 ccpizza 上面的回答,我也经常使用内置的字符串操作功能,并且适用于美国日期格式。

但是,如果您需要确保非美国日期(日期部分的顺序不同)可以使用,那么这是您的选择。

for %%A IN (%Date%) do ( for /F "tokens=1-3 delims=/-" %%B in ("%%~A") do ( set MyDate=%%D%%B%%C ) )
echo get mydownloadfile_%MyDate%.txt >> myscript.SCR

将文件名中的日期部分重新排列为适合您的文件名格式。

  • %% D =年
  • %% B =月
  • %% C =天