使用WinSCP和命令提示符时的批处理文件
问题描述:
我目前正在编写一个调用WinSCP的脚本,连接SFTP会话,将一组文件从本地服务器传输到远程服务器,关闭连接,然后将本地文件移到档案。另一个可接受的解决方案是将文件复制到存档,然后将其从源目录中删除。使用WinSCP和命令提示符时的批处理文件
我遇到的问题是我可以让WinSCP打开,连接和传输文件,但在此之后,命令被忽略,我无法自动关闭连接,文件移动或复制以及删除和关闭的命令提示符。做这个的最好方式是什么?
我FTP.bat
文件连接的会话,并调用脚本 - 当我添加任何命令要么
option batch abort
option confirm off
option exclude script.txt
put *.txt
close
-
"C:\Program Files\WinSCP\WinSCP.exe" /console /command "lcd d:\bofa_ftp\out" /script=script.txt [email protected]
,它将在文件和关闭连接我的脚本文件蝙蝠或他们被忽略的脚本。
答
而不是尝试使用Winscp3,尝试与plink.exe。
Plink是将文件从winscp3传输到本地的最佳选择。通过使用scp命令,我们可以将文件从winscp传输到本地以及将文件夹传输到winscp中的另一个文件夹。
scp [email protected]:/data/tmp/samplscp.txt [email protected]:/data/tmp/dir/tech
答
命令后close
都绝对不容忽视。您的问题可能是您尝试将Windows命令放入WinSCP脚本。请注意,WinSCP中没有用于移动本地文件的命令。
查看[docs](http://winscp.net/eng/docs/commandline)的_console/scripting mode_部分...可以将单独的批处理文件传递给.exe以执行一旦明显连接,您需要的命令。 – Ben 2012-03-13 22:04:15