Убить все экземпляры 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 вы работаете - это может иметь значение при чьем-то ответе - хотя, вероятно, не для этого вопроса.

Другие вопросы по тегам