如何在批处理文件中关闭cmd
How to close cmd in batch file
start cmd /k
/k: 强制执行。
启动许多命令提示符可以如下完成。
start cmd /k Call rc_hub.bat 4444
start cmd /k Call rc_grid1.bat 5555
start cmd /k Call rc_grid1.bat 6666
start cmd /k Call rc_grid1.bat 5570.
我想知道启动后用什么cmd关闭
例如:if %a="1234" start cmd /k Call rc_grid1.bat
--> 这是打开cmd,需要给什么cmd才能关闭?
关闭 cmd 的多个实例并不是一个非常罕见的任务。
例如,在调试一组复杂的批处理脚本时可能会出现这种情况。
有一种方法可以做到这一点:
首先,给 cmd windows 唯一的标题。例如,
start "unique_title" cmd.exe /k ...
其次,当你想关闭它们时,从匹配标题的任务列表输出中获取进程 ID。然后用 taskkill
.
杀死那些 id
tasklist /v /fo csv | findstr "unique_title"
这是完整的示例,第一个参数是要匹配的标题子字符串:
kill_title.cmd
@echo off
set TITLE=unique_title
if not "%~1"=="" set "TITLE=%~1"
for /f "tokens=1,2,* delims=," %%a in ('tasklist /fi "imagename eq cmd.exe" /v /fo csv ^| findstr "%TITLE%"') do (
rem here we check that the first column is "cmd.exe" ... just in case
if "%%~a"=="cmd.exe" echo taskkill /pid "%%~b"
)
先检查脚本输出,如果没问题,去掉taskkill
前的echo
。
当弄乱命令提示时,当命令提示真的失控时,我总是让我的电脑崩溃。我又做了一个命令提示符如下:
Title END
:End
taskkill /FI "WINDOWTITLE ne END" /IM cmd.exe /F /T
Goto :End
这将强制关闭所有 运行 的命令提示符,不包括这个命令提示符,并会重复该命令直到您关闭它。
start cmd /k
/k: 强制执行。
启动许多命令提示符可以如下完成。
start cmd /k Call rc_hub.bat 4444
start cmd /k Call rc_grid1.bat 5555
start cmd /k Call rc_grid1.bat 6666
start cmd /k Call rc_grid1.bat 5570.
我想知道启动后用什么cmd关闭
例如:if %a="1234" start cmd /k Call rc_grid1.bat
--> 这是打开cmd,需要给什么cmd才能关闭?
关闭 cmd 的多个实例并不是一个非常罕见的任务。 例如,在调试一组复杂的批处理脚本时可能会出现这种情况。
有一种方法可以做到这一点:
首先,给 cmd windows 唯一的标题。例如,
start "unique_title" cmd.exe /k ...
其次,当你想关闭它们时,从匹配标题的任务列表输出中获取进程 ID。然后用 taskkill
.
tasklist /v /fo csv | findstr "unique_title"
这是完整的示例,第一个参数是要匹配的标题子字符串:
kill_title.cmd
@echo off
set TITLE=unique_title
if not "%~1"=="" set "TITLE=%~1"
for /f "tokens=1,2,* delims=," %%a in ('tasklist /fi "imagename eq cmd.exe" /v /fo csv ^| findstr "%TITLE%"') do (
rem here we check that the first column is "cmd.exe" ... just in case
if "%%~a"=="cmd.exe" echo taskkill /pid "%%~b"
)
先检查脚本输出,如果没问题,去掉taskkill
前的echo
。
当弄乱命令提示时,当命令提示真的失控时,我总是让我的电脑崩溃。我又做了一个命令提示符如下:
Title END
:End
taskkill /FI "WINDOWTITLE ne END" /IM cmd.exe /F /T
Goto :End
这将强制关闭所有 运行 的命令提示符,不包括这个命令提示符,并会重复该命令直到您关闭它。