我在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
任何人都知道解决方法吗?谢谢!
答案 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
将文件名中的日期部分重新排列为适合您的文件名格式。