我想将文件(一次约50个文件)从本地计算机批量传输到远程计算机(Linux服务器),并且我想使用WinSCP自动化此活动。
我已经通过在WinSCP中手动执行来生成代码。保存代码并创建批处理文件。但这会引发类似
的错误文件名,目录名或卷标语法不正确
系统找不到指定的路径。
但是给定的目的地和来源有效/正确。
@echo
"open sftp://XXXXXXXXXXXXXX/ -hostkey=""ssh-rsa XXXX gk:op:09:n8:00:44:32:00:11:bn:mm:pp:45:bh:03:ea"""
"lcd C:\Users\007\Documents\testdata"
"cd /XXX/XXX/XXX/testdata"
"put *"
"exit"
set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
echo Success
) else (
echo Error
)
exit /b %WINSCP_RESULT%
答案 0 :(得分:0)
您发布的内容绝不会生成WinSCP的批处理文件。您必须手动更改了脚本(并破坏了脚本)。
batch file that WinSCP would generate看起来像:
@echo off
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log="C:\writable\path\to\log\WinSCP.log" /ini=nul ^
/command ^
"open sftp://XXXXXXXXXXXXXX/ -hostkey=""ssh-rsa XXXX gk:op:09:n8:00:44:32:00:11:bn:mm:pp:45:bh:03:ea""" ^
"lcd C:\Users\007\Documents\testdata" ^
"cd /XXX/XXX/XXX/testdata" ^
"put *" ^
"exit"
set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
echo Success
) else (
echo Error
)
exit /b %WINSCP_RESULT%
用于生成用于文件传输的批处理文件的WinSCP对话框示例: