我正在尝试编写一个自动脚本来使用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"发布于 2020-06-06 06:19:03
不确定您想要实现什么,但是您使用/ini=nul的命令确实无法工作。您正在连接到SSH (SFTP)服务器,这需要一个验证服务器的主机密钥。您的脚本没有这样做,而且当您使用/ini=nul时,WinSCP不会使用(可能)来自WinSCP GUI配置的缓存主机密钥。
不过,我确信WinSCP会“返回错误”。您无法看到打印的错误,因为您没有启用日志记录(交换机),也没有使用控制台接口(winscp.com或/console)。
完整的命令可以如下所示:
C:\Users\anh le>"C:\Program Files (x86)\WinSCP\WinSCP.com" /log=C:\some\path\winscp.log /ini=nul /command "open sftp://username:password@sftphost/ -hostkey=""server_host_key""" "cd /ADHOC" "put ""C:\Temp\ldg_pnv.csv""" "close" "exit"WinSCP GUI可以为您提供这样的生成一个完整的命令,包括-hostkey开关。
https://stackoverflow.com/questions/62224752
复制相似问题