Windows의 경우 " which"

Windows의 경우 " which"

가능한 중복:
Windows에 해당하는 whereis?

나는 Unix 시스템에서 무엇이 실행될지 확인하기 위해 "which foo"라고 말하는 데 익숙합니다.

오늘 저는 Windows의 프로그램에 문제가 있습니다. 실행 중인 명령이 잘못된 것 같습니다. cmd.exe에서 "foo"를 입력할 때 실제로 실행될 프로그램을 어떻게 결정합니까?

답변1

"foo" 예제를 사용하여 다음을 입력하는 것이 좋습니다.

foo /?

이는 Linux에서 --help를 추가하는 것과 유사하게 Windows에서 수행됩니다. 항상 그런 것은 아니지만, 무슨 일이 일어나고 있는지와 몇 가지 명령 구문을 정확히 알려줄 것입니다.

답변2

Windows의 경우 '어느'인지는 모르지만 명령줄에서 다음을 실행할 수 있습니다.파일을 찾는 위치를 확인합니다. 나는 그것이 순서대로 경로를 검색하고 찾은 첫 번째 실행 파일을 실행할 것이라고 믿습니다.

CMD.EXE는 실행할 프로그램을 찾기 위해 로컬 디렉터리도 검색한다는 점을 기억하세요. 저는 이것이 우선 순위를 갖는다고 생각합니다.

답변3

확장하려면스티브'에스답변, 검색 %SYSTEM_ROOT%을 실행하여 attrib'foo'가 어디에 있는지 확인한 다음 %PATH%와 비교하여 어느 것이 먼저 실행되는지 확인할 수 있습니다.

attrib /s foo.exe
...
echo %PATH%

답변4

Cygwin과 함께 제공되는 것(http://cygwin.org)은 cmd.exe에서 실행되며 아마도 그렇지 않으면 원하는 작업을 수행할 것입니다. .bat를 찾고 있다면 명시적으로 .bat를 추가해야 합니다. 예를 들어 "which gorp.bat"는 gorp.bat를 찾지만 "which gorp"는 찾지 않습니다.

관련 정보