0

I run the following code in DOS shell to generate a SCR file that I will then use to connect to a FTP server and download files.

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

The above runs fine, but the BAT file gets hung up with the below code

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

Anyone know of a workaround for this? Thanks!

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 に答える