Windows 批处理命令中的 For Loop、List 和 TaskKill
For Loop, List, and TaskKill in Windows Batch Commands
我想创建一个可执行文件列表,然后创建一个 for 循环来 taskkill 列表中的所有可执行文件。我用这个作为参考: Create list or arrays in Windows Batch ,但我还是想不通。
这是我试过的...
set list = A B C D
for %%a in (%list%) do (
taskkill /F %%a
)
方法 1:从批处理文件中设置列表:
@echo off
setlocal enabledelayedexpansion
:assuming you want to kill the calc.exe, paint.exe and notepad.exe processes
set list=calc paint notepad
for %%a in (!list!) do (
set process=%%a
taskkill /f /im !process!.exe
)
endlocal
将上述批处理文件另存为 method1.bat 或将其包含在您的批处理文件中合适的位置。
方法 2:有一个外部可执行文件列表:
列出要终止的可执行文件,将其命名为 list.txt 并确保列表和批处理文件都在同一个文件夹中。
例如
List.txt:
notepad.exe
paint.exe
calc.exe
你的批处理文件:
@echo off
::save this batch file as method2.bat or include in your existing batch file
setlocal enabledelayedexpansion
for /f "delims=" %%e in (list.txt) do (
set process=%%e
taskkill /f /im !process!
)
endlocal
希望对您有所帮助!
我想创建一个可执行文件列表,然后创建一个 for 循环来 taskkill 列表中的所有可执行文件。我用这个作为参考: Create list or arrays in Windows Batch ,但我还是想不通。
这是我试过的...
set list = A B C D
for %%a in (%list%) do (
taskkill /F %%a
)
方法 1:从批处理文件中设置列表:
@echo off
setlocal enabledelayedexpansion
:assuming you want to kill the calc.exe, paint.exe and notepad.exe processes
set list=calc paint notepad
for %%a in (!list!) do (
set process=%%a
taskkill /f /im !process!.exe
)
endlocal
将上述批处理文件另存为 method1.bat 或将其包含在您的批处理文件中合适的位置。
方法 2:有一个外部可执行文件列表: 列出要终止的可执行文件,将其命名为 list.txt 并确保列表和批处理文件都在同一个文件夹中。 例如
List.txt:
notepad.exe
paint.exe
calc.exe
你的批处理文件:
@echo off
::save this batch file as method2.bat or include in your existing batch file
setlocal enabledelayedexpansion
for /f "delims=" %%e in (list.txt) do (
set process=%%e
taskkill /f /im !process!
)
endlocal
希望对您有所帮助!