Как убить все процессы, которые запускаются в папке? - PullRequest
0 голосов
/ 19 марта 2020

Я хочу заменить некоторые файлы в папке, и я вижу, что в папке есть несколько процессов, которые мешают мне сделать это.

Как я могу уничтожить все процессы, которые выполняются в папке?

Ответы [ 2 ]

1 голос
/ 20 марта 2020

Если вы предпочитаете использовать (поскольку является одним из ваших тегов), используйте wmic process:

@echo off
set "dir=YOUR PATH HERE"

for /f "skip=1 tokens=*" %%a in ('wmic process get executablepath') do (
    for /f "eol= tokens=*" %%A in ("%%a") do (
        echo(%%~dpA | findstr /I %dir% >nul 2>&1
        if %ERRORLEVEL% equ 0 taskkill /F /IM "%%~nxA"
    )
)

Примечание. Это НЕ надежный, все процессы с одинаковыми именами будут убиты

0 голосов
/ 19 марта 2020

Использование powershell:

  1. Перемещение текущего каталога powershell к пути назначения:

cd "%*DestinationPath*%"

Get-Process | ?{$_.path -and (test-path (split-path $_.path -leaf ))} | Stop-Process -Force
...