Unix의 "which"명령에 해당하는 Windows는 무엇입니까? 동등한 PowerShell 명령이 있습니까?


답변:


79

일부 Windows 버전 (Windows 2003 이상)에는 where 명령이 있습니다.

c:\>where ping
C:\Windows\System32\PING.EXE

5
whereWindows 7에서 나를 위해 일하십시오
— Nam G VU

6
이것은 PowerShell이 ​​아닌 cmd에서만 작동합니다 (제 경험상)
— Thomas

where /r c:\ fileName/ rc : \를 추가하면 Windows 7 Professional을 사용하여 C 드라이브의 루트에서 시작하여 재귀 검색을 수행 할 수있었습니다. access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/…
— CrandellWS

6
Powershell 에서는 기본적으로 완전히 다른 이야기 인 cmdlet 으로 별칭이 지정되어 where.exe ping있기 때문에whereWhere-Object
— maoizm

where.exewherePowerShell에서 나를 위해 명시 적으로 작동하기 보다는
— drkvogel

36

예, Get-Command실행 파일을 포함한 모든 명령을 찾습니다.

PS\> Get-Command ipconfig

명령을 실행 파일로만 제한하려면 다음을 수행하십시오.

PS\> Get-Command -CommandType Application

경로에서 모든 exe를 찾을 수 있습니다. 대화식 사용을위한 별명이 있습니다.

PS\> gcm net* -CommandType Application

실행 파일의 경로를 얻으려면 Path반환 된 객체 의 속성을 사용할 수 있습니다 . 예를 들면 다음과 같습니다.

PS\> (Get-Command notepad.exe).Path

자세한 내용을 보려면을 실행하십시오 man Get-Command -full.


2

user10404 외에도 help 명령이 별명에서 작동하므로 도움말 및 대화식으로 동일한 명령 이름 (gcm)을 사용할 수 있습니다.

help gcm -Parameter *
# or
man gcm -Par *

2

짧게 만들려면 내용이 포함 된 한 줄 which.cmd 파일을 만드십시오.

echo %~$PATH:1

스크립트에 공급 된 첫 번째 매개 변수 (% 1)를 검색하고 찾은 파일의 전체 경로를 표시합니다. 이 스크립트를 Windows 10에 넣을 수있는 좋은 장소는 % LOCALAPPDATA % \ Microsoft \ WindowsApps \ which.cmd입니다.

그리고 당신은 길에서 당신의 명령을 얻습니다.

c:\>which cmd.exe

c:\>echo C:\Windows\System32\cmd.exe
C:\Windows\System32\cmd.exe

1

where.exewherePowerShell에서 나를 위해 작동하는 대신 명시 적으로

PS C:\Users\birdc> where ping
PS C:\Users\birdc> where.exe ping
C:\Windows\System32\PING.EXE

Windows 10 1903에서 작동합니다.
— Ultrasonic54321

PowerShell에서? 저는 Windows 10 Pro 1903을 사용하고 where ping있으며 PowerShell에서는 아무것도 제공하지 않습니다.
— drkvogel

불분명해서 죄송합니다. 나는 의미했다 where.exe.
— Ultrasonic54321
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.