使用批处理文件中的 WinSCP 从 FTP 服务器下载今天的文件失败 "Mask is invalid near '=today'"
Downloading today's file from FTP server using WinSCP from batch file fails with "Mask is invalid near '=today'"
我有一个批处理文件,它接收一个参数,然后将该参数传递给调用 WinSCP 来下载文件的文本脚本文件。
我的目标是下载今天的文件。
如果文本脚本文件中没有 >=today
,我可以下载该文件 >=today
。
我需要更改什么才能下载今天的文件(如果存在)?
批处理文件
set arg1=%1
set CurrentPath=C:\Temp\
rem drive
c:
rem folder do WinSCP
cd C:\Program Files (x86)\WinSCP
rem Download file
winscp.exe /console /script=%CurrentPath%sftp.txt /parameter %arg1%
文本脚本文件
option batch abort
option confirm off
# Connect
open <.....>
# Download file to
get %1%>=today "C:\Temp\"
# Disconnect
close
我遇到的错误:
Mask is invalid near '=today'
我不认为这是关于传递参数。
但是 today
keyword 是一个“最新”功能(2018 年 10 月的 WinSCP 5.14)。所以你可能有不支持它的旧版本 WinSCP。
如果您没有支持today
的WinSCP版本,您可以使用%TIMESTAMP%
pattern:
get %1%>=%TIMESTAMP#yyyy-mm-dd% "C:\Temp\"
虽然你应该始终使用最新版本的 WinSCP,但如果你想保持安全。
替换
原样
# Download file to
get %1%>=today "C:\Temp\"
未来
# Download file to
get -filemask= %1%"*>1D" "C:\Temp\"
我有一个批处理文件,它接收一个参数,然后将该参数传递给调用 WinSCP 来下载文件的文本脚本文件。
我的目标是下载今天的文件。
如果文本脚本文件中没有 >=today
,我可以下载该文件 >=today
。
我需要更改什么才能下载今天的文件(如果存在)?
批处理文件
set arg1=%1
set CurrentPath=C:\Temp\
rem drive
c:
rem folder do WinSCP
cd C:\Program Files (x86)\WinSCP
rem Download file
winscp.exe /console /script=%CurrentPath%sftp.txt /parameter %arg1%
文本脚本文件
option batch abort
option confirm off
# Connect
open <.....>
# Download file to
get %1%>=today "C:\Temp\"
# Disconnect
close
我遇到的错误:
Mask is invalid near '=today'
我不认为这是关于传递参数。
但是 today
keyword 是一个“最新”功能(2018 年 10 月的 WinSCP 5.14)。所以你可能有不支持它的旧版本 WinSCP。
如果您没有支持today
的WinSCP版本,您可以使用%TIMESTAMP%
pattern:
get %1%>=%TIMESTAMP#yyyy-mm-dd% "C:\Temp\"
虽然你应该始终使用最新版本的 WinSCP,但如果你想保持安全。
替换
原样
# Download file to
get %1%>=today "C:\Temp\"
未来
# Download file to
get -filemask= %1%"*>1D" "C:\Temp\"