2012-10-08 46 views
0

我在DOS shell中运行下面的代码来生成一个SCR文件,然后我将使用它来连接到FTP服务器并下载文件。无法运行BAT文件来生成自定义日期?

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 

任何人都知道解决类似的问题呢?谢谢!

回答

0

丑陋的,因为它是,但你可以使用日期/时间切片,例如:

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

这个特定的字符串是依赖于语言环境,只会有美国地区工作。对于其他语言环境,您需要调整索引。

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 =天