Wie kann ich eine Stapeldatei in einer anderen Stapeldatei aufrufen?


2

Beim Versuch, eine Stapeldatei in einer anderen Stapeldatei aufzurufen, führt das Skript die Synchronisierung der Remote-Ordner aus, ruft dann jedoch die andere Stapeldatei nicht auf.

@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

Antworten:


0

Bewegen Sie einfach den Befehl call über den Befehl exit, da er sonst vor dem Aufruf beendet wird.


Was zu ändern

Diese. . .

exit /b %WINSCP_RESULT%
CALL movefile
pause

Wird dies. . .

CALL movefile
pause
exit /b %WINSCP_RESULT%

Skript

@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%

Hinweis: Sie möchten auch sicherstellen, dass die aufgerufene Stapelskriptdatei tatsächlich vorhanden ist. Vergewissern Sie sich daher, dass dies der genaue Speicherort des aufgerufenen ausführenden Stapelskriptbefehls ist movefile.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.