Windows의 명령 행에서 실행중인 프로세스의 EXE 파일 경로 표시


26

Windows의 명령 줄에서 실행중인 각 프로세스의 전체 EXE 파일 경로를 표시하려면 어떻게해야합니까?

tasklistpslist 시도했지만 전체 경로를 표시하지는 않습니다.

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 및 powershell이 ​​가능합니다. 그것은 여기 나 유래에도에의 .. 여기 저기를해야합니다 ... 사실 난 내가 그것의 메모를 가지고, 완전히 여기에 대답 볼 수 없습니다 .. 내가 확인해 볼게
barlop

@barlop 그것은 재미 : 당신은 당신의 댓글을 쓰셨 동안 어떤 일을하고 있었다, 나는 이미 PowerShell을 실험 한 실험을 다른 PowerShell을 뿐만 아니라 (:
제론 Wiert Pluimers

':('필요 없음 당신의 방법은 매우 깔끔하고 빠르게 발견했습니다
barlop

1
나는 자폐증이어야합니다! 어쩌면 당신은 스마일리에 코를 넣어 더 선명하게 만들어야합니다 ;-)
barlop

1
@kayleeFrye_onDeck 높은 UAC 토큰으로 솔루션을 성공적으로 실행했지만 해당 토큰에서 신뢰할 수있는 쿼리를 허용 하는 technet.microsoft.com/en-us/sysinternals/processexplorer.aspx 의 명령 줄 버전이 있었으면 좋겠습니다 .
Jeroen Wiert Pluimers 2016 년

답변:


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

powershell이 ​​너무 신이 너무 느리기 때문에 이것은 빠르다는 장점이 있습니다!
Mr.Robot 2012

사용 된 형식에주의하십시오. 예를 들어, name필드 내에 작은 따옴표를 포함시키지 않으면 이것이 끊어집니다.
kayleeFrye_onDeck

@ kayleeFrye_onDeck 글쎄, 명령의 길이가 주어지면 누군가가 그것을 복사 / 붙여 넣기하고 프로세스의 이름을 변경하기를 기대합니다. 따라서 프로세스 이름 주위에 작은 따옴표가 누락되어 실수로 인용 부호를 남길 수 있기를 바랍니다.
barlop

9

구조에 대한 PowerShell .

먼저 Get-Member 를 사용 하여 Get-Process 가 무엇을 반환 할 수 있는지 확인했습니다 .

PowerShell Get-Process ^| Get-Member

그런 다음 Get-Process의 경로를 필터링하여Spring.Tests 실행중인 프로세스 를 파악했습니다 .

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

를 야기하는:

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

정확히 내가 원하는 정보입니다.


1
이 WMIC도하지만, PowerShell은 더 현대적이고 유연
barlop

Path명령 행과 같은 일이? 실행 파일 에 대한 인수 는 어떻습니까? @barlop WMI에는 여전히 PowerShell에서 사용할 수없는 많은 기능이 있습니다.
jpmc26

@ jpmc26 나는 그것들을 필요로하지 않았지만 stackoverflow.com/questions/1012409/StartInfoPath기반한 대신에 그것들을 통해 얻을 수 있다고 생각합니다.
Jeroen Wiert Pluimers

@ jpmc26 WMIC 명령 출력의 PowerShell을 ........ 명령이 출력 예를 들어, 열려있는 창 계산기 및 calc.exe를 위해 그것을 시도하는 파일 경로와 동일하다는 파일 경로 pastebin.com/raw/TK8xSPPL
barlop

첫 번째 명령에서 당근은 무엇을합니까?
Jared Beach

6

파이프 PowerShell은의 Get-ProcessSelect-Object.

메모장 ++의 예제 명령 :

Get-Process notepad++ | Select-Object Path

산출:

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

직접 출력을 얻으려면 (Get-Process notepad++).Path(변수에 저장할 수 있음).
nawfal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.