psftp put
失败了大约百分之一的时间,例如
local:无法打开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
答案 0 :(得分:0)
使用一些WinAPI logger找出基础CreateFile
WinAPI函数调用失败的原因。
或者使用其他SFTP客户端以及更详细的错误消息。
例如,等效的WinSCP script是:
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 \ EXMSP35201504210946233890.csv'不存在。
系统错误。代码:3。系统找不到指定的路径。
查看introduction to WinSCP scripting。
(我是WinSCP的作者)
您不应该在路径中使用双反斜杠。虽然Windows容忍这一点。