我正在使用 WinSCP 与仅支持 SFTP 且不允许 SSH 访问的远程服务器进行交互。
我的交互涉及移动/删除某个目录中的文件子集(由文件名标识)。
为了简化这一点,我通常会同步 [ 远程 -> 本地 ],使用 cygwin 命令行在本地删除文件(这样我就可以指定文件名列表,而不是在 GUI 中选择文件),然后同步 [ 本地 -> 远程 ] 将删除推送到远程。
但是,现在,我想进一步简化流程,以便我可以将其交给操作人员。我去查看并很高兴地发现 WinScp 支持“命令”。
如果我可以在 WinSCP 的“Commander”视图底部的“命令”字段中输入如下内容就太好了:
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
但是当我在“命令”字段中输入此内容时,出现以下错误:
Current SFTP-3 session does not support command you request. Separate shell session may be opened to process the command. Do you want to open separate shell session?
错误 1:
当我点击确定时,出现以下错误:
Error skipping startup message. Your shell is probably incompatible with the applicaiton (BASH is recommended).
错误 2:
后者可能是因为不支持 SSH。
但我的问题是,既然“get”是一个 SFTP 命令,为什么我会收到第一个错误?WinSCP 本身不是在幕后使用该命令来支持 GUI“复制到本地”操作吗?
我该如何配置 WinSCP 或 Linux 机器以便能够完成上面所展示的操作?
答案1
我想这回答了我的问题:http://winscp.net/eng/docs/remote_command
显然,“命令”功能仅支持 SCP。
我想知道为什么 WinSCP 不能公开在 sftp 交互式会话期间通常支持的 SFTP 操作的命令行界面。