检查是否按下了 CTRL-C 或批量等待同意
Check if CTRL-C pressed Or batch wait for agreement
我需要知道如果在其他命令 window 中打开的第二个批处理文件已停止(等待参数或处理不成功),我该如何签入批处理文件。
@echo off
:loop
start /wait rapidminer-batch.bat -f C:\Users\AHM-PC\Documents\ccc.rmp
echo cmd stopped
pause
goto loop
当调用批次结束时,它return将值设为errorlevel
。它适用于 call
,不知道是否也适用于 start
。
if %errorlevel% gtr 0 (
echo failed
) else (
echo success)
或在您调用的批处理中调用 exit /b <number of error>
,以获得 return 特定值。查看 exit
了解更多详情。
提供批间通信的正常方法是 flag file
要么在主例程中 create
标记文件并等待 start
ed 例程删除它,要么等到 start
ed 批处理创建一个文件,然后删除它。
例如
echo.>myflag.txt
start anotherbatch.bat
:loop
timeout /t 1 >nul
if exist myflag.txt goto loop
在这里,批次将等到 myflag.txt
被删除,这就是您在第二批中所做的。您所需要的只是让两个例程就要使用的文件名达成一致。
我需要知道如果在其他命令 window 中打开的第二个批处理文件已停止(等待参数或处理不成功),我该如何签入批处理文件。
@echo off
:loop
start /wait rapidminer-batch.bat -f C:\Users\AHM-PC\Documents\ccc.rmp
echo cmd stopped
pause
goto loop
当调用批次结束时,它return将值设为errorlevel
。它适用于 call
,不知道是否也适用于 start
。
if %errorlevel% gtr 0 (
echo failed
) else (
echo success)
或在您调用的批处理中调用 exit /b <number of error>
,以获得 return 特定值。查看 exit
了解更多详情。
提供批间通信的正常方法是 flag file
要么在主例程中 create
标记文件并等待 start
ed 例程删除它,要么等到 start
ed 批处理创建一个文件,然后删除它。
例如
echo.>myflag.txt
start anotherbatch.bat
:loop
timeout /t 1 >nul
if exist myflag.txt goto loop
在这里,批次将等到 myflag.txt
被删除,这就是您在第二批中所做的。您所需要的只是让两个例程就要使用的文件名达成一致。