Tôi đang cố gắng để có được các quy trình cửa sổ phù hợp với một số tiêu chí nhất định, ví dụ: chúng giống như "123456.exe" và cố gắng giết chúng bằng tasklist. Tôi đang cố gắng thực hiện điều đó như sau:Vượt qua các PID từ danh sách tác vụ và xóa các quy trình với danh sách tác vụ
FOR /F "usebackq tokens=2 skip=2" %i IN (`tasklist |findstr /r "[0-9].exe") DO taskkill /PID %i
điều này không đúng và tôi không biết tại sao .... Bất kỳ ai cũng có thể gợi ý cho tôi không? Thanx trước!
Điều gì sẽ là sự thay đổi trong lệnh trên nếu tôi muốn giết chỉ pid đầu tiên trong danh sách? tức là nếu tôi mở 2 notepad.exe, tôi muốn chỉ xóa pid đầu tiên trong danh sách. – Jai
Đừng bận tâm, tôi đã tìm ra nước sốt bí mật. setlocal enabledelayedexpansion đặt cờ = 0 FOR/F "usebackq tokens = 2" %% i IN ('tasklist^| findstr/r/b" notepad.exe "') DO ( if! flag! == 0 ( vang! cờ! \t taskkill/pid %% i \t bộ cờ = 1 \t vang cờ! ) ) endlocal – Jai