2012-11-23 21 views
11

Làm thế nào để giết một quá trình theo tên và được ký hiệu từ một đường dẫn cụ thể bằng cách sử dụng taskkill?taskkill để phân biệt 2 hình ảnh theo đường dẫn

taskkill/F/IM

chắc chắn nó không thể phân biệt 2 quá trình bắt đầu từ hai địa điểm C khác nhau: \ dir1 và C: \ dir2

Liệu tasklist có bất kỳ chuyển đổi để có được tên đường dẫn

Trả lời

7

taskkill không thể thực hiện được. Nhưng bạn có thể sử dụng PowerShell nếu nó là một lựa chọn:

(Get-WmiObject Win32_Process | Where-Object { $_.Path.StartsWith('C:\Dir1') }).Terminate() 
2

Sử dụng lệnh sau (nó hoạt động ngay cả khi không PowerShell):

wmic process where ExecutablePath='C:\\Dir1\\image.exe' delete 

LƯU Ý: ExecutablePath là thể truy cập cho tất cả các quá trình chỉ khi bạn chạy wmic as administrator trên Windows 8

1

Trường hợp của bạn có vẻ là khi bạn có các dịch vụ tùy chỉnh có cùng tên quy trình được cài đặt trên máy từ các đường dẫn khác nhau. Nếu đây thực sự là kịch bản, bạn có thể có các tên dịch vụ khác nhau có thể được sử dụng như một bộ lọc bổ sung.

Xem Cú pháp:

taskkill /S {REPLACE_WITH_SERVER_IP_OR_NAME} /F /FI "IMAGENAME eq {REPLACE_WITH_PROCESS_NAME}" /FI "SERVICES eq {REPLACE_WITH_SERVICENAME}" 

Xem Ví dụ:

taskkill /S 10.10.1.1 /F /FI "IMAGENAME eq tomcat7.exe" /FI "SERVICES eq tomcatServiceEngine" 

Đối với danh sách của tất cả các bộ lọc có sẵn, vui lòng truy cập taskkill command