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

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.