Jak mogę wywołać plik wsadowy w innym pliku wsadowym?

2

próba wywołania pliku wsadowego w innym pliku wsadowym skrypt kończy synchronizację folderów zdalnych, ale następnie nie może wywołać innego pliku wsadowego.

@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
Westfall_T
źródło

Odpowiedzi:

0

Po prostu przesuń polecenie połączenia, aby znajdowało się powyżej polecenia wyjścia, w przeciwnym razie wyjdzie ono przed wywołaniem.


Co zmienić

To. . .

exit /b %WINSCP_RESULT%
CALL movefile
pause

Staje się tym. . .

CALL movefile
pause
exit /b %WINSCP_RESULT%

Scenariusz

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

Uwaga: Należy również upewnić się, że wywoływany plik skryptu wsadowego rzeczywiście istnieje, więc należy się upewnić, że jest to poprawna lokalizacja wykonywanego polecenia skryptu wsadowego, który wywołuje movefile.

Pimp Juice IT
źródło