Windows'ta komut satırında çalışan işlemlerin EXE dosya yolunu gösterme


26

Windows'taki komut satırından çalışan her işlemin tam EXE dosyası yolunu nasıl gösterebilirim?

Denedim tasklist ve pslist , ancak tam yol gösterme:

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

verir:

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

ve

pslist Spring.Tests -x

verir:

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

Yana Spring.Tests.exeçeşitli dizinlere olabilir, bir tane idam edildiği bilmek istiyorum.


1
oh bu klasik bir soru .. görev yöneticisi yanında bir sütuna sahip olmak. Komut satırı için WMIC ve powershell olabilir. o burada ya da
yığın akışında

@barlop komik: Yorumunuzu yazarken, ben de PowerShell'i deniyordum, çünkü başka bir PowerShell deneyi de yapıyordum (:
Jeroen Wiert Pluimers 15:14

':(' yöntemine gerek yok, yönteminiz çok düzenli ve hızlı
buluyorsunuz

1
Otistik olmalıyım! Belki bunu daha net ;-) yapmak gülen bir burun koymalıyız
barlop

1
@kayleeFrye_onDeck Çözümleri yükseltilmiş bir UAC belirteci altında çalıştırmada daha başarılıyım, ancak gerçekten bu belirteç altında güvenilir sorgulamaya izin veren technet.microsoft.com/en-us/sysinternals/processexplorer.aspx bir komut satırı sürümü olmasını diliyorum .
Jeroen Wiert Pluimers, 30.07.2017

Yanıtlar:


26

Verdiğiniz çizgiye ek olarak, burada (ikincisinden ayrı olarak) yolları listelemek için kullanılabilecek bir grup satır vardır:

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

bu hızlı olma avantajına sahiptir, (wmic) çünkü powershell çok tanrı yavaştır!
Mr.Robot

Kullanılan biçimlendirmeye çok dikkat edin. Örneğin, namealan içindeki tekli alıntı işaretlerinin dahil edilmemesi bunun kırılmasına neden olur.
kayleeFrye_onDeck

@kayleeFrye_onDeck, komutun uzunluğu göz önüne alındığında birisinin onu yine de kopyalayıp yapıştırması ve işlemin adını değiştirmesini beklerim. Bu yüzden umarım, orada olanları bırakabilecekleri için, işlem adının etrafında tek tırnak işareti eksik olmamalıdır.
barlop

9

PowerShell'i kurtarmaya.

Öncelikle Get-Process'in geri dönebileceğini görmek için Get-Member kullandım :

PowerShell Get-Process ^| Get-Member

Sonra hangi işlemlerin çalıştığını bulmak için Yolu Get-Process'ten filtreledimSpring.Tests :

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

sonuçlanan:

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

tam olarak istediğim bilgi bu.


1
WMIC de var ama powershell daha modern ve esnek
barlop

Pathkomut satırı olarak aynı şey? Çalıştırılabilir argümanlar ne olacak ? @barlop WMI hala PowerShell'de bulunmayan bir takım özelliklere sahiptir.
jpmc26

@ jpmc26 O gerek yoktu, ama aracılığıyla onları alabilirsiniz düşünmek StartInfoyerine Pathdayalı stackoverflow.com/questions/1012409/...
Jeroen Wiert Pluimers

@ jpmc26 wmic komutunun çıkardığı dosya yolları, powershell ........ komutunun çıktığı dosya yolları ile aynıdır; örneğin, açık pencereler hesap makinesi ve calc.exe pastebin.com/raw/TK8xSPPL
barlop

Havuç ilk komutta ne yapar?
Jared Beach

6

Boru PowerShell'in Get-Processiçine Select-Object.

Notepad ++ için örnek komut:

Get-Process notepad++ | Select-Object Path

Çıktı:

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

Doğrudan çıktı almak için, (Get-Process notepad++).Path(belki bir değişkende saklamak için).
nawfal
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.