Windows में कमांड-लाइन पर चलने की प्रक्रियाओं का EXE फ़ाइल पथ दिखाएं


26

मैं विंडोज में कमांड-लाइन से प्रत्येक चल रही प्रक्रिया का पूर्ण EXE फ़ाइल पथ कैसे दिखा सकता हूं?

मैं कोशिश की है कार्यसूची और pslist , पर वे पूरा पथ नहीं दिखाते:

tasklist /FI "ImageName eq Spring.Tests.exe" /v /fo List

देता है:

Image Name:   Spring.Tests.exe
PID:          3956
Session Name: Console
Session#:     1
Mem Usage:    9,772 K
Status:       Running
User Name:    W81ENTX64DELPHI\Developer
CPU Time:     0:00:01
Window Title: Spring

तथा

pslist Spring.Tests -x

देता है:

Name                Pid      VM      WS    Priv Priv Pk   Faults   NonP Page
Spring.Tests       3956   83472    9772    5320    5692     5037     11  157
 Tid Pri    Cswtch            State     User Time   Kernel Time   Elapsed Time
1488  10     11018     Wait:UserReq  0:00:00.906   0:00:01.046    0:53:06.977

चूंकि Spring.Tests.exeविभिन्न निर्देशिकाओं में हो सकता है, मैं जानना चाहता हूं कि किस पर अमल किया गया।


1
ओह, यह एक क्लासिक सवाल है .. इसके अलावा टास्क मैनेजर में एक कॉलम है। कमांड लाइन के लिए, WMIC और पावरशेल कर सकते हैं। यह यहाँ पर या
स्टैकओवरफ़्लो

@barlop यह हास्यास्पद है: जब आप अपनी टिप्पणी लिखते हैं, तो मैं पहले से ही PowerShell के साथ प्रयोग कर रहा था, जैसा कि मैं कुछ अन्य PowerShell प्रयोग के रूप में भी कर रहा हूं : (:
Jeroen Wiert Pluimers

':(' की कोई आवश्यकता नहीं है, आपका तरीका बहुत साफ-सुथरा है और आपने इसे बहुत तेजी से देखा
बार्लोप

1
मुझे ऑटिस्टिक होना चाहिए! हो सकता है कि आपको इसे साफ करने के लिए स्माइली में नाक
डालनी चाहिए

1
@kayleeFrye_onDeck मुझे एक उन्नत UAC टोकन के तहत समाधान चलाने में बेहतर सफलता मिली है, लेकिन वास्तव में इच्छा है कि technet.microsoft.com/en-us/sysinternals/proxexplorer.aspx का एक कमांड-लाइन संस्करण था जो उस टोकन के तहत विश्वसनीय क्वेरी की अनुमति देता है।
जीरोन विर्ट प्लिमर्स

जवाबों:


26

आपके द्वारा दी गई लाइन के अलावा, यहां उन पंक्तियों का एक समूह है जो (दूसरे के अलावा) को पथ सूचीबद्ध करने के लिए उपयोग किया जा सकता है:

PS C:\> gwmi win32_process | select Handle, CommandLine | format-list
PS C:\> gwmi win32_process | select name
PS C:\> gwmi win32_process | select CommandLine
C:\>wmic process get ProcessID,ExecutablePath
C:\>wmic process where "name='mysqld.exe'" get ProcessID, ExecutablePath
C:\>wmic process where "name='mysqld.exe'" get ProcessID, ExecutablePath /FORMAT:LIST

यह तेजी से होने का लाभ है, (विकी) क्योंकि शक्तियां इतनी धीमी हैं भगवान !!!
मि। रॉटोट

उपयोग किए गए स्वरूपण के प्रति बहुत चौकस रहें। उदाहरण के लिए, nameक्षेत्र के भीतर एकल-उद्धरण चिह्नों को शामिल नहीं करने से यह टूट जाएगा।
kayleeFrye_onDeck

@kayleeFrye_onDeck अच्छी तरह से, कमांड की लंबाई को देखते हुए मुझे उम्मीद है कि किसी को इसे वैसे भी कॉपी / पेस्ट करना होगा और प्रक्रिया का नाम बदलना होगा। इसलिए उम्मीद है कि उन्हें प्रक्रिया के नाम के आसपास के एकल उद्धरणों को याद करने की गलती नहीं करनी चाहिए क्योंकि वे जो हैं उन्हें छोड़ सकते हैं।
बार्लोप

9

बचाव के लिए PowerShell

पहले मैंने गेट-मेंबर का इस्तेमाल यह देखने के लिए किया कि गेट-प्रोसेस क्या वापस ला सकता है:

PowerShell Get-Process ^| Get-Member

फिर मैंने गेट-प्रोसेस से पाथ फिल किया कि कौन सी Spring.Testsप्रक्रिया चल रही है:

PowerShell Get-Process Spring.Tests ^| Format-List Path

जिसके परिणामस्वरूप:

Path : C:\Users\Developer\Versioned\Spring4D\Tests\Bin\DelphiXE\Spring.Tests.exe

ठीक वही जानकारी जो मुझे चाहिए थी।


1
WMIC भी है, लेकिन
शक्तियां

है Pathकमांड लाइन के रूप में एक ही बात? निष्पादन योग्य के तर्कों के बारे में क्या ? @barlop WMI में अभी भी कई सुविधाएँ हैं जो अन्यथा PowerShell में अनुपलब्ध हैं।
jpmc26

@ jpmc26 मैं उन की जरूरत नहीं था, लेकिन मुझे लगता है कि आप उन्हें के माध्यम से प्राप्त कर सकते हैं StartInfoके बजाय Pathके आधार पर stackoverflow.com/questions/1012409/...
जेरोन Wiert Pluimers

@ jpmc26 फ़ाइल पथ जो कि विकी कमांड आउटपुट है, फ़ाइल पथ के समान हैं जो शक्तियां ........ कमांड वहां आउटपुट जैसे कि खुली हुई विंडो कैलकुलेटर और इसे calc.exe pastebin.com/raw/TK8xSPPL के
बार्लोप

पहले आदेश में गाजर क्या करता है?
जारेड बीच 14

6

पाइप PowerShell है Get-Processमें Select-Object

नोटपैड ++ के लिए उदाहरण कमांड:

Get-Process notepad++ | Select-Object Path

आउटपुट:

Path
----
D:\Notepad++\notepad++.exe

सीधे उत्पादन प्राप्त करने के लिए, (Get-Process notepad++).Path(शायद एक चर में स्टोर करने के लिए)।
नवाफल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.