我正在尝试编写一个自动化脚本,以使用WinSCP将文件上传到sftp。下面的初始脚本可以正常运行
C:\Users\anh le>"C:\Program Files (x86)\WinSCP\WinSCP.exe" /command "open sftp://username:password@sftphost/" "cd /ADHOC" "put ""C:\Temp\ldg_pnv.csv""" "close" "exit"
但是当我添加“ / ini = nul”开关时,上传无效,也没有返回任何错误。有谁知道为什么添加开关(这是推荐的方式)导致了这一点?
C:\Users\anh le>"C:\Program Files (x86)\WinSCP\WinSCP.exe" /ini=nul /command "open sftp://username:password@sftphost/" "cd /ADHOC" "put ""C:\Temp\ldg_pnv.csv""" "close" "exit"
[不确定您要达到什么目的,但实际上您的/ini=nul
命令无法正常工作。您正在连接到SSH(SFTP)服务器,并且需要verification of the server's host key。您的脚本不会执行此操作,并且当您使用/ini=nul
时,WinSCP不会(可能)使用WinSCP GUI配置中的缓存主机密钥。
尽管,我确定WinSCP确实“返回错误”。您只是看不到错误,因为您没有启用日志记录(/log
switch),也没有使用控制台界面(/log
或winscp.com
)。
完整的命令可以像这样:
winscp.com
WinSCP GUI可以为您提供/console
这样的功能,包括/console
开关。