Member 13019612 Ответов: 3

Закройте все программы, кроме этих, с помощью CMD


привет ребята
у меня есть этот код :
Это код пакетного файла
@echo off
title Kill all running apps - Bharat Balegere - AgniPulse.com
cd c:\windows\System32
for /f "skip=3 tokens=1" %%i in ('TASKLIST /FI "USERNAME eq %userdomain%\%username%" /FI "STATUS eq running"') do (
if not "%%i"=="svchost.exe" (
if not "%%i"=="explorer.exe" (
if not "%%i"=="cmd.exe" (
if not "%%i"=="tasklist.exe" (
echo.
taskkill /f /im "%%i" 
echo.
)
)
)
)
)
pause

но это закроет всю программу

Что я уже пробовал:

я пытаюсь отредактировать его и добавить что-то вроде этого

if not "%%i"=="notepad.exe" (

но он все равно не работает, и когда я нажимаю на пакетный файл, он ничего не делает, так что я не знаю, как его отредактировать и поставить на него какие-то изменения! заранее спасибо

Richard MacCutchan

Добавьте несколько команд echo, чтобы точно увидеть, что происходит при его запуске.

3 Ответов

Рейтинг:
2
Рейтинг:
1

Graeme_Grant

Должен ли это быть пакетный файл? В PowerShell[^] делает это очень легко... Как закрыть все окна с помощью PowerShell-Stack Overflow[^]


Рейтинг:
1

OriginalGriff

Если я изменю это:

echo.
taskkill /f /im "%%i" 
echo.
До настоящего времени:
echo "%%i" 

Тогда я получу вот это:
D:\Test Data>listtask
"sihost.exe"
"taskhostw.exe"
"Pen_TabletUser.exe"
"Pen_TouchUser.exe"
"avpui.exe"
"ShellExperienceHost.exe"
"SearchUI.exe"
"RuntimeBroker.exe"
"TabTip.exe"
"SettingSyncHost.exe"
"nvtray.exe"
"NvBackend.exe"
"MSASCuiL.exe"
"RAVCpl64.exe"
"CorelCreatorClient.exe"
"SetPoint.exe"
"KHALMNPR.exe"
"OneDrive.exe"
"chrome.exe"
"chrome.exe"
"chrome.exe"
"chrome.exe"
"E_IATIGJE.EXE"
"ProductUpdater.exe"
"WzPreloader.exe"
"LWS.exe"
"GalaxyClient.exe"
"GalaxyClient"
"GOG"
"jucheck.exe"
"CodeprojectReputation.exe"
"wlmail.exe"
"wlcomm.exe"
"PSPad.exe"
"conhost.exe"
Press any key to continue . . .

D:\Test Data>
Что означало бы, что пакетный файл работает просто отлично, за исключением вашего случая для завершения задач - по очевидным причинам я не собираюсь пробовать это на своем компьютере!
Попытка самой команды путем добавления
)
taskkill /f /im "pspad.exe"
pause
До конца выполняет задание совершенно счастливо.

Так что я бы заподозрил, что это проблема с разрешениями.
Попробуйте то же самое, что и я, и повторите все запущенные задачи. Затем вручную убейте первого. Посмотрим, сработает ли. Но... в моем списке есть много задач, которые, вероятно, сделают мой компьютер немного нестабильным, если его убьют, и ваш, вероятно, такой же.
Почему ты пытаешься это сделать?