本文目录导读:

我来介绍几种批量关闭指定软件的方法,你可以根据需求选择:
Windows 系统
方法1:使用 PowerShell 脚本
# 批量关闭指定软件(按进程名)
$targetProcesses = @("notepad", "chrome", "word")
foreach ($process in $targetProcesses) {
Get-Process -Name $process -ErrorAction SilentlyContinue | Stop-Process -Force
Write-Host "已关闭: $process"
}
方法2:使用 taskkill 命令(CMD/BAT)
@echo off
setlocal enabledelayedexpansion
:: 要关闭的程序列表
set processes=chrome.exe firefox.exe notepad.exe
for %%p in (%processes%) do (
taskkill /f /im %%p >nul 2>&1
if !errorlevel! equ 0 (
echo 已关闭: %%p
) else (
echo 未找到运行中的: %%p
)
)
方法3:更灵活的 PowerShell 脚本
# 从文本文件读取进程列表
$processList = Get-Content "C:\processes.txt"
foreach ($process in $processList) {
if ($process.Trim() -ne "") {
$proc = Get-Process -Name $process -ErrorAction SilentlyContinue
if ($proc) {
$proc | Stop-Process -Force
Write-Host "✓ 已关闭: $process"
} else {
Write-Host "✗ 未找到: $process"
}
}
}
Linux/Mac 系统
方法4:Shell 脚本
#!/bin/bash
# 要关闭的程序列表
processes=("firefox" "chrome" "gedit")
for proc in "${processes[@]}"; do
if pgrep -x "$proc" > /dev/null; then
pkill -f "$proc"
echo "已关闭: $proc"
else
echo "未运行: $proc"
fi
done
方法5:高级版(支持模糊匹配)
#!/bin/bash
close_processes() {
local patterns=("$@")
for pattern in "${patterns[@]}"; do
local pids=$(pgrep -f "$pattern" 2>/dev/null)
if [ -n "$pids" ]; then
kill -9 $pids 2>/dev/null
echo "成功关闭匹配 '${pattern}' 的所有进程"
else
echo "未找到匹配 '${pattern}' 的进程"
fi
done
}
# 使用示例
close_processes "firefox" "chrome" "python script.py"
使用建议
- 安全第一:运行前先备份重要数据
- 测试模式:先使用
-WhatIf参数测试脚本效果 - 日志记录:添加日志功能追踪操作记录
- 权限问题:某些系统进程需要管理员权限
Python 跨平台方案
import psutil
import os
import sys
def batch_kill_processes(process_names):
for proc in psutil.process_iter(['pid', 'name', 'exe']):
try:
for target_name in process_names:
if target_name.lower() in proc.info['name'].lower():
proc.kill()
print(f"已终止: {proc.info['name']} (PID: {proc.info['pid']})")
except (psutil.NoSuchProcess, psutil.AccessDenied):
continue
# 使用示例
target_processes = ['chrome.exe', 'notepad.exe', 'firefox.exe']
batch_kill_processes(target_processes)
选择最适合你场景的方法,如果是 Windows,推荐使用 PowerShell;Linux/Mac 则用 bash 脚本。