0

我在 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

有人知道解决方法吗?谢谢!

4

2 回答 2

0

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

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

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

于 2012-10-08T21:43:00.467 回答
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 = 天
于 2012-10-13T05:09:23.193 回答