バッチでラベルを使用してコードを書いているのですが、思ったように動かずうまくいきません。
流れとしては、FLAG_AがONの時にAlabelへジャンプし、★ほかの処理を開始してほしいのですが、
ログを見てみるとBlabelも処理しているようで、でもデータが不十分なので途中で落ちてしまいます。
どうぞよろしくお願いいたします。
(テキストファイルA、B、Cがあり、その中身に何か書かれていたらフラグをONにするコードを最初に書いています。) SET WINSCP="C:~\WinSCP.com" SET SCRIPT=/script=SCP.txt if "FLAG_A" == "ON" ( call :Alabel 10.10.10.10(IPアドレスです) call :Alabel 11.11.11.11(IPアドレスです) ) if "FLAG_B" == "ON" ( call :Blabel 12.12.12.12(IPアドレスです) call :Blabel 13.13.13.13(IPアドレスです) ) if "FLAG_C" == "ON" ( call :Clabel 14.14.14.14(IPアドレスです) ) echo すべて完了しました。 pause :Alabel echo 開始します。 pause %WINSCP% %SCRIPT% /parameter %1 echo 終了しました。 pause :Blabel echo 開始します。 pause %WINSCP% %SCRIPT% /parameter %1 echo 終了しました。 pause exit /b :Clabel echo 開始します。 pause %WINSCP% %SCRIPT% /parameter %1 echo 終了しました。 pause exit /b ★ほかの処理が続きます。 ・・・
【2020/6/26追記】
:Alabelにexit /bを追加、
echo すべて完了しました。の次にgoto :nextを追加することで動きました!
ありがとうございました!
SET WINSCP="C:~\WinSCP.com"
SET SCRIPT=/script=SCP.txt
if "FLAG_A" == "ON" (
call :Alabel 10.10.10.10(IPアドレスです)
call :Alabel 11.11.11.11(IPアドレスです)
)
if "FLAG_B" == "ON" (
call :Blabel 12.12.12.12(IPアドレスです)
call :Blabel 13.13.13.13(IPアドレスです)
)
if "FLAG_C" == "ON" (
call :Clabel 14.14.14.14(IPアドレスです)
)
echo すべて完了しました。
pause
goto :next
:Alabel
echo 開始します。
pause
%WINSCP% %SCRIPT% /parameter %1
echo 終了しました。
pause
exit /b
:Blabel
echo 開始します。
pause
%WINSCP% %SCRIPT% /parameter %1
echo 終了しました。
pause
exit /b
:Clabel
echo 開始します。
pause
%WINSCP% %SCRIPT% /parameter %1
echo 終了しました。
pause
exit /b
:next
★ほかの処理が続きます。
・・・
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/25 12:32