Batch file 批处理文件中的某些WinSCP命令不起作用

Batch file 批处理文件中的某些WinSCP命令不起作用,batch-file,sftp,winscp,Batch File,Sftp,Winscp,我正在尝试将文件从SFTP服务器下载到本地计算机,并使用WinSCP创建了一个日期文件夹。但它正在下降到lcd的点 这是我的剧本 @echo off set datetime=%date:~7,2%%date:~4,2%%date:~10,4% set "mydir=D:\Test\%datetime%\" mkdir "%mydir%" echo My Directory is created "%mydir%" "C

我正在尝试将文件从SFTP服务器下载到本地计算机,并使用WinSCP创建了一个日期文件夹。但它正在下降到
lcd
的点

这是我的剧本

@echo off

set datetime=%date:~7,2%%date:~4,2%%date:~10,4%
set "mydir=D:\Test\%datetime%\"
mkdir "%mydir%"

echo My Directory is created "%mydir%"

"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log="D:\temp\WinSCP.log" /ini=nul ^
/command ^
"open sftp://username:password@sftp.server1/logs/Test/ -hostkey=""ssh-key=""" ^

"lcd %mydir%" ^

"get *.xml>1D" ^
"exit"

set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
echo Success
) else (
echo Error
)

exit /b %WINSCP_RESULT%```
以下是日志中的错误:

> 2021-03-18 09:17:10.392 lcd D:\Test\18032021\
< 2021-03-18 09:17:10.392 Script: Unknown command '
< 2021-03-18 09:17:10.392 lcd'.
. 2021-03-18 09:17:10.393 Script: Failed
. 2021-03-18 09:17:10.393 Script: Exit code: 1
. 2021-03-18 09:17:10.393 Closing connection.
. 2021-03-18 09:17:10.393 Sending special code: 1
. 2021-03-18 09:17:10.579 Session sent command exit status 0
. 2021-03-18 09:17:10.579 Main session channel closed
. 2021-03-18 09:17:10.580 All channels closed
>2021-03-18 09:17:10.392液晶显示器D:\Test\18032021\
<2021-03-18 09:17:10.392脚本:未知命令'
<2021-03-1809:17:10.392液晶显示器'。
. 2021-03-18 09:17:10.393脚本:失败
. 2021-03-18 09:17:10.393脚本:退出代码:1
. 2021-03-18 09:17:10.393关闭连接。
. 2021-03-18 09:17:10.393发送特殊代码:1
. 2021-03-18 09:17:10.579会话已发送命令退出状态0
. 2021-03-18 09:17:10.579主时段频道关闭
. 2021-03-18 09:17:10.580所有通道关闭
我尝试了很多选择,但还是失败了。非常感谢您的任何建议

问候,,
Aniruddha

您问题中的批处理文件无法生成您描述的错误。它甚至不会将
lcd
传递给WinSCP,因为批处理文件语法错误

如果要将批处理文件中的命令拆分为多行,则需要以
^
结束每一行,并缩进下一行

  • 您的空行不会以
    ^
    结尾(就像
    open
    lcd
    命令之间的空行)
  • 您的续行没有缩进
这应该起作用:

"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
  /log="D:\temp\WinSCP.log" /ini=nul ^
  /command ^
    "open sftp://username:password@sftp.server1/logs/Test/ -hostkey=""ssh-key=""" ^
    "lcd %mydir%" ^
    "get *.xml>1D" ^
    "exit"
请参阅WinSCP常见问题解答