如何在另一个批处理文件中调用一个批处理文件?

如何在另一个批处理文件中调用一个批处理文件?

尝试在另一个批处理文件中调用一个批处理文件时,脚本完成了远程文件夹的同步,但无法调用另一个批处理文件。

@echo off

"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log="C:\Test\TestLog.log" /ini=nul ^
/command ^
"open sftp://test/ -hostkey=""ssh-dss 2048 xxxxxxxxxxxxxxxxxxxxxxxxx=""" ^
"synchronize remote \\Please\Send\Some\Help /Dir/Test" ^
"exit"

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

exit /b %WINSCP_RESULT%

CALL movefile

pause

答案1

只需移动称呼命令高于出口命令否则它将在调用之前退出。


要改变什么

这。 。 。

exit /b %WINSCP_RESULT%
CALL movefile
pause

就变成这样了。。。

CALL movefile
pause
exit /b %WINSCP_RESULT%

脚本

@echo off

"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log="C:\Test\TestLog.log" /ini=nul ^
/command ^
"open sftp://test/ -hostkey=""ssh-dss 2048 xxxxxxxxxxxxxxxxxxxxxxxxx=""" ^
"synchronize remote \\Please\Send\Some\Help /Dir/Test" ^
"exit"

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

CALL movefile
pause
exit /b %WINSCP_RESULT%

笔记: 您还需要确保所调用的批处理脚本文件确实存在,因此请确认这是从调用的执行批处理脚本命令的准确位置movefile

相关内容