【发布时间】:2015-04-21 15:57:58
【问题描述】:
psftp put 大约百分之一的时间失败,例如
本地:无法打开 d:\\WorkPath\\F_56MTV56201504201707224380.csv
- 调用应用程序需要对文件所在目录路径和上传文件本身的权限
- 上传文件所在的目录路径未锁定。见第 (1) 项
- 要上传的 csv 文件是用 C++ 创建的,其中 fclose() 函数在关闭文件时不返回 EOF
- 目录上传路径已从防病毒软件中排除
- 100 次上传中有 99 次按预期工作
- 通过调用同一批次重新上传失败的上传文件可以正常工作
- 解决方案是多线程的
此时我唯一能看到的不同之处是使用带有本地文件名的 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 虚拟平台上。
【问题讨论】: