Передайте PID из списка задач в taskkill, чтобы убить процесс при помощи DLL-файлов, которые он держит открытыми.
Сценарий Windows Нуб здесь. Скажем, у меня есть имя.dll, которое мне нужно удалить или скопировать, и я получаю классическую ошибку "Файл используется другим процессом...". Я знаю, что могу запустить список задач с ключом /m и передать ему имя DLL. Затем я могу получить PID для процессов и убить их с помощью taskkill.
Как я могу сделать это за один шаг в командном файле?
4 ответа
Напоминание: в командном файле вам нужно будет использовать двойной "%%" вместо одного
FOR /F "usebackq tokens=2 skip=2" %i IN (`tasklist /m winsta.dll`) DO taskkill /PID %i
FOR /F "маркеры usebackq = 2 skip = 2" %% i IN (
TASKLIST /FI "IMAGENAME eq tomcat6.exe"
) DO taskkill / F / PID %% i
автоматически убьет процесс кота.
Goyuix,
Я не могу получить результаты анализа списка задач для анализа. FOR /F "usebackq tokens=2 skip=2" %i IN ('tasklist /m winsta.dll') DO echo %i Команда Tasklist сама по себе в порядке, но цикл не распознает результаты списка задач. Скорее, это похоже на разбор строки. Я могу вывести результаты списка задач в файл и проанализировать их в цикле, но я подумал, что, возможно, упускаю что-то простое.