Angenommen, ich kenne die Prozess-ID. Ich möchte den Prozessnamen anhand seiner ID mithilfe des Windows-Batch-Skripts finden. Wie kann ich das machen?Prozessname anhand seiner Prozess-ID suchen
Antwort
Die grundlegendste, fragen Sie tasklist seinen Ausgang zu filtern und zeigen nur die angegebene ID-Informationen Prozess
tasklist /fi "pid eq 4444"
nur um den Namen des Prozesses zu erhalten, muss die Linie
for /f "delims=," %%a in ('
tasklist /fi "pid eq 4444" /nh /fo:csv
') do echo %%~a
In diesem gespaltet werden In diesem Fall wird die Liste der Prozesse ohne Header (/nh
) im CSV-Format (/fo:csv
) abgerufen. In einigen Windows-Versionen (einer von ihnen, mein Fall ist die spanische Version von Windows XP), die pid Filter in: Die Kommas werden als Token-Trennzeichen und das erste Token in der Zeile ist der Bildname
note verwendet Die Aufgabenliste funktioniert nicht. In diesem Fall muss die Filter über die Liste der Prozesse aus dem Diese generieren die Aufgabenliste und filtern sie die Suche nach der Prozess-ID in der zweiten Spalte der CSV-Ausgabe
for /f "delims=," %%a in ('
tasklist /fo:csv /nh ^| findstr /b /r /c:"[^,]*,\"4444\","
') do echo %%~a
Befehl erfolgen.
bearbeitet: alternativ können Sie annehmen, was von dem Team gemacht wurde, das das Betriebssystem ins Spanische übersetzt hat. Ich weiß nicht, was in anderen Ländern passieren kann.
tasklist /fi "idp eq 4444"
nur „native“ Windows-Dienstprogramme verwenden, versuchen Sie die folgenden, wobei „516“ ist die Prozess-ID, die Sie den Bildnamen für wollen:
for /f "delims=," %a in ('tasklist /fi "PID eq 516" /nh /fo:csv') do (echo %~a)
for /f %a in ('tasklist /fi "PID eq 516" ^| findstr "516"') do (echo %a)
Oder Sie könnten verwenden wmic (Windows Management Instrumentation Befehl
-Linie-Tool) und den vollständigen Pfad zu der ausführbaren Datei erhalten:wmic process where processId=516 get name
wmic process where processId=516 get ExecutablePath
oder Sie könnten herunterladen Microsoft PsTools oder speziell nur das pslist Dienstprogramm herunterladen und verwenden PsList:
for /f %a in ('pslist 516 ^| findstr "516"') do (echo %a)
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET /a pid=1600
FOR /f "skip=3delims=" %%a IN ('tasklist') DO (
SET "found=%%a"
SET /a foundpid=!found:~26,8!
IF %pid%==!foundpid! echo found %pid%=!found:~0,24%!
)
GOTO :EOF
... PID entsprechend Ihrer Situation einstellen.
- 1. Wie kann ich einen Gerätebenutzer anhand seiner Sitzungs-ID finden?
- 2. Wie leite ich ein Voronoi-Diagramm anhand seiner Punktmenge und seiner Delaunay-Triangulation ab?
- 3. Bash: Erhalten Kind Prozessname
- 4. Finding Prozessname von PID
- 5. Get Prozessname von PID
- 6. Vollständiger Prozessname von task_struct
- 7. Leerer Prozessname für OSX Cocoa-Anwendung?
- 8. Welche Dienste kann ich verwenden, um den Standort eines Benutzers anhand seiner IP-Adresse zu finden?
- 9. Wie kann ich Daten zu einem Buch anhand seiner Barcode-Nummer ermitteln?
- 10. Prozessname für RPC-Client abrufen
- 11. Ist es eine gute Idee, einen mysql-Eintrag direkt anhand seiner ID mit REST zu identifizieren?
- 12. Kann ich ein Element anhand seiner Array-Position in nightwatch.js auswählen?
- 13. C#: Holen WindowHandles aller Fenster von Prozessname
- 14. Wie golang Prozess-ID von Prozessname erhalten?
- 15. Prozessname von Prozess-ID (Win32) erhalten
- 16. Ist Prozessname wie Paketname in Android?
- 17. Rückgabe anhand der Vorlage
- 18. Welche Graphikbibliothek verwendet GitHub auf seiner Diagrammseite?
- 19. Hystrix Anforderungscaching anhand des Beispiels
- 20. Rang automatisch mit seiner Gesamtpunktzahl zuweisen
- 21. Erhalte nur den Namen des Angestellten anhand seiner ID. Also eine statische Klasse mit nur einer Methode?
- 22. Wie wird der ausführbare Prozessname eines Projekts festgelegt?
- 23. Wie zu ändern/zuzuweisen Prozessname von Java .jar
- 24. Ist der Prozessname immer der Name der EXE?
- 25. Wie kann ich eine Sammlung suchen einen verschachtelten Wert in einem seiner Dokumente in MongoDB
- 26. Suchen und Auswerfen eines USB-Geräts basierend auf seiner VID/PID
- 27. Optimale Möglichkeit, nach einem Objekt zu suchen, indem Sie einen eindeutigen Wert einer seiner Eigenschaften verwenden
- 28. Finden eines Funktionsnamens und Zählen seiner LOC
- 29. Wie kann ich auf eine TDBGrid-Spalte anhand ihres Namens und nicht anhand von Index zugreifen?
- 30. ElasticSearch: Dokumente anhand der Feldlänge filtern?
Wenn der Prozess-ID ist weniger als 1000, das 'find' Befehl kann die falschen Linien stimmen mit den Daten in der Speicherspalte in dem Fall von' tasklist' Abruf- oder (niedriger oder höher als 1000) in jedem der numerischen Spalten in den numerischen Spalten 'wmic' oder' pslist'. –
Das Hinzufügen eines Tailing Space löst das Problem nicht (Beispiel: '1.500' in der Speicherspalte). In Tasklist können Sie die Ausgabe filtern ('/ fi'), in wmic können Sie die Ausgabe (' where') filtern, in pslist können Sie die Ausgabe filtern (geben Sie die 'pid' in der Kommandozeile ein). Während 'Grep' ein großartiges Werkzeug ist, muss es hier nicht verwendet werden. –
Alles klar, guter Ruf. Mich dafür arbeiten lassen ... ;-) – Craig