2012-10-08 52 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 =天