我使用WinSCP与只支持SFTP且不允许SSH访问的远程服务器进行交互。
我的交互包括移动/删除某个目录中的文件子集(由文件名标识)。
为了简化这一点,我通常会同步远程->本地,使用cygwin命令行在本地删除文件(这样我就可以指定文件名列表而不是在->中选择文件),然后同步本地->远程以将删除推到远程。
但是,现在,我想进一步简化这个过程,这样我就可以把这个交给操作人员了。我去寻找,并高兴地发现,WinSCP支持‘命令’。
如果我能在WinSCP的“指挥官”视图底部的“命令”字段中输入这样的内容,那就太好了:
get queue-queue-from-DLQ-ID-69703273-db51-11e1-ba9f-005056010165 \
queue-queue-from-DLQ-ID-3d64697a-db51-11e1-b86e-005056010166 \
queue-queue-from-DLQ-ID-76fdb365-db50-11e1-b78d-005056010164 \
queue-queue-from-DLQ-ID-76ed3836-db50-11e1-ba9f-005056010165但是,当我在“命令”字段中输入这个字段时,我会得到以下错误:
当前的SFTP-3会话不支持您请求的命令。可以打开单独的shell会话来处理命令。要打开单独的shell会话吗?

当我点击ok时,会得到以下错误:
跳过启动消息时出错。您的shell可能与应用程序不兼容(推荐使用BASH)。

后者可能是由于SSH不受支持。
但是我的问题是,既然get是一个SFTP命令,为什么我会得到第一个错误?WinSCP本身不是在幕后使用这个命令来支持GUI‘复制到本地’操作吗?
我如何配置WinSCP或Linux,使我能够完成上面所示的操作?
发布于 2012-08-06 22:09:21
我想这回答了我的问题:command
显然,“命令”功能只支持SCP。
我想知道为什么WinSCP不能公开SFTP交互会话中通常支持的sftp操作的命令行接口。
发布于 2013-04-03 14:16:13
您可以使用WinSCP命令行脚本接口来运行get命令。
https://winscp.net/eng/docs/scripting
即使对于SFTP协议,也支持“命令”特性(远程命令执行)。但是这个特性在远程服务器上执行命令。您不能使用此特性来自动化WinSCP。而且没有远程命令,您可以轻松地使用它来下载文件。
请参阅command
https://stackoverflow.com/questions/11836302
复制相似问题