Убить все экземпляры program.exe, открытые на общем сетевом ресурсе из Windows
Как мне убить всех program.exe
экземпляры, которые в данный момент открыты через общий сетевой ресурс Windows?
Я знаю, как перечислить открытые файлы net files | Findstr "program.exe"
но как тогда как я убью это?
В Linux я бы набрал:
kill -9 `pidof program.exe`
Что является эквивалентом этого в Windows?
3 ответа
Если ваша версия Windows имеет PowerShell (если нет, вы можете скачать и установить с сайта Microsoft), это также очень легко
get-process "program.exe" | stop-process -force -confirm:$false
Посмотрите здесь: http://support.microsoft.com/kb/290585/en-us
Я считаю, что это все еще относится к текущим версиям Windows, или, по крайней мере, должно направить вас в правильном направлении.
Командная строка:
for /f "skip=4 tokens=1" %a in ('net files') do net files %a /close
Пакетный файл:
for /f "skip=4 tokens=1" %%a in ('net files') do net files %%a /close
tskill.exe (встроенный или, возможно, в наборе ресурсов) или pskill.exe от sysinternals, который вы, как администратор Windows, должны иметь на USB-ключе и в общей сетевой папке.
Кроме того, не забудьте указать, над какой версией Windows вы работаете - это может иметь значение при чьем-то ответе - хотя, вероятно, не для этого вопроса.