VBS没有打开WinSCP并通过SFTP获取文件

时间:2014-05-02 02:43:11

标签: batch-file vbscript sftp winscp

我们有一些脚本在2003服务器上运行得很好。它是一个调用.bat文件的Windows计划任务,此文件连接打开WinSCP控制台并使用存储的会话到SFTP到一个位置并检索一些文件,如下所示:

winscp.com /script=SFTPScript.txt > SFTP_log_%All%.log

然后做的东西..... 2003年盒子上的WinSCP版本是4.5.1(build 410)。这一切都运作良好。在移动其他脚本时,我发现2008 R2喜欢完整路径,因此将上面的代码行改为:

D:\inetpub\Scripts\Citibank\WinSCP\winscp.com /script=D:\inetpub\Scripts\Citibank\SFTPScript.txt

当我在vbs文件中暂停并查看控制台时,它会到达此行并打印:

batch  on
confirm  off
Searching for host...

Network error: Connection times out
No session
No session

以下是我尝试的四种变体:

rem winscp.com /script=SFTPScript.txt > SFTP_log_%All%.log
rem D:\inetpub\Scripts\Citibank\WinSCP\winscp.com /script=SFTPScript.txt > SFTP_log_%All%.log
rem D:\inetpub\Scripts\Citibank\WinSCP\winscp.com /script=D:\inetpub\Scripts\Citibank\SFTPScript.txt > SFTP_log_%All%.log
rem D:\inetpub\Scripts\Citibank\WinSCP\winscp.exe /console /script=SFTPScript.txt D:\inetpub\Scripts\Citibank\WinSCP\winscp.com /script=D:\inetpub\Scripts\Citibank\SFTPScript.txt

2008 R2服务器上的WinSCP版本为5.5.1(Build 3970)。我100%确认存储的会话详细信息已成功连接。我可以打开WinSCP并激活会话而没有任何问题,没有密码提示,它直接连接。是的winscp.exe和winscp.com文件在同一个目录....

希望有人可以帮助???

1 个答案:

答案 0 :(得分:0)

在这一整天之后,现在正在使用它:

"C:\Program Files (x86)\WinSCP\winscp.com" /script=D:\inetpub\Scripts\Citibank\SFTPScript.txt

这对我来说根本没有意义......