您可以使用这些命令来生成今天的邮票:
for /F "usebackq tokens=1,2 delims==" %%i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if '.%%i.'=='.LocalDateTime.' set LDT=%%j
set STAMP=%LDT:~0,4%%LDT:~4,2%%LDT:~6,2%
echo %STAMP%
请参阅如何以适合在文件名中使用的格式在 Windows 命令行上获取当前日期时间?
或者使用一些更强大的 SFTP/SCP 客户端。
例如,使用WinSCP scripting,您可以执行以下操作:
"C:\Program Files (x86)\WinSCP\WinSCP.com" /command ^
"open sftp://abc:password@****.na.ab.com/ -hostkey=""ssh-rsa 2048 xxxxxxxxxxx...=""" ^
"get /qwe/asd/tryu/%%TIMESTAMP#yyyymmdd%%*.csv.zip ""P:\Projects\abc\Test_bacth\Batch download\""" ^
"exit"
有关语法,请参阅文档%TIMESTAMP%
。
如果时间戳实际上不是今天的,而不是指定时间戳,只需下载每个模式/掩码的最新文件。
使用 WinSCP 很容易,只需使用-latest
switch:
"C:\Program Files (x86)\WinSCP\WinSCP.com" /command ^
"open sftp://abc:password@****.na.ab.com/ -hostkey=""ssh-rsa 2048 xxxxxxxxxxx...=""" ^
"lcd ""P:\Projects\abc\Test_bacth\Batch download""" ^
"cd /qwe/asd/tryu" ^
"get -latest *_cpg_aob_detail.csv.zip" ^
"get -latest *_fmcg_cob_detail.csv.zip" ^
...
"exit"
另请参阅下载最新文件的其他选项。
(我是WinSCP的作者)