psftp put
大约有1%的时间失败,例如
本地:无法打开d:\WorkPath\F_56MTV56201504201707224380.csv
在这一点上,我唯一能看到的不同之处是使用带有本地文件名的lcd命令,而不是使用完全限定的路径,但理论上,这不应该改变任何事情,或者我遗漏了什么吗?
示例批处理文件:
"D:\\Program Files\\ApplicationPath\\psftp.exe" ^
1.2.3.4 -l username -pw password -batch -bc ^
-b "d:\\\\WorkPath\\\\\EXMSP35201504210946233890.script" ^
> "d:\\\\WorkPath\\\\\EXMSP35201504210946233890.script.log" 2>&1
示例脚本文件:
put d:\\\\WorkPath\\\\EXMSP35201504210946233890.csv
bye
D:看起来像是附加到服务器上的物理磁盘,但是服务器,2008R2是在VMWare虚拟平台上的。
发布于 2015-04-22 05:38:09
使用一些WinAPI记录仪来找出底层CreateFile
WinAPI函数调用失败的原因。
或者使用具有更详细错误消息的不同的SFTP客户端。
例如,等效的WinSCP脚本是:
winscp.com /command ^
"option echo on" ^
"open sftp://username:password@1.2.3.4/" ^
"put d:\WorkPath\EXMSP35201504210946233890.csv" ^
"exit" > d:\WorkPath\EXMSP35201504210946233890.script.log
使用WinSCP,您将得到一个错误,如:
文件或文件夹‘d:\WorkPath\EXMSP352012014210946233890.csv’不存在。 系统错误代码: 3。 系统找不到指定的路径。
看一个WinSCP脚本简介。
(我是WinSCP的作者)
您不应该在路径中使用双反斜杠。尽管Windows允许这样做。
https://stackoverflow.com/questions/29777363
复制相似问题