나는 다음 실험을 시도했다.
시작하기 전에 다음 값을 갖는 cmd에서 PATH 변수를 확인했습니다.
Path=C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\ProgramData\Lenovo\ReadyApps;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Skype\Phone\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Calibre2\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;
처음에는 cmd가 PATH 변수에 포함 된 디렉토리에서만 실행 파일을 찾는다고 생각했기 때문에 무작위로 응용 프로그램-winword.exe (Microsoft Word)를 골라 명령 줄에서 시작하려고했습니다.
start winword
그러나 놀랍게도 프로그램이 시작됩니다! 내가 놀란 이유는 'winword'라는 exe 파일에 대한 PATH 변수의 모든 디렉토리를 검색했지만 모든 검색이 비어 있기 때문입니다!
따라서 명령 프롬프트가 실행 파일을 찾기 위해 PATH 변수에 지정된 곳이 아닌 다른 곳을 검색하는 것으로 알고 있어야합니다.
그래서 분명히 다음에 한 것은 'winword'실행 파일이있는 정확한 위치를 찾는 것입니다. winword.exe는 다음 위치에 있습니다.
C:\Program Files\Microsoft Office 15\root\office15
따라서 'start'명령을 실행할 때 CMD가 ProgramFiles 및 ProgramFiles (x86) (및 모든 하위 디렉토리)를 자동으로 살펴볼 수 있다는 아이디어를 제공합니까? 그 결과 exe 파일이 다음과 같은 위치에있는 내 컴퓨터 Audacity에 설치된 다른 응용 프로그램을 시작하려고했습니다.
C:\Program Files (x86)\Audacity
놀랍게도 Audacity는 다음과 같이 입력했을 때 시작하지 못했습니다.
start audacity
명령 줄에서.
그런 다음 audacity.exe를 포함하는 디렉토리를 PATH에 추가했습니다.
set path=%path%;C:\Program Files (x86)\Audacity
그 후 나는 대담을 다시 시작하려고 시도했다.
start audacity
놀랍지 않게 Audacity가 시작되었습니다.
내가 알고 싶은 것은 명령 프롬프트가 실행 파일을 정확히 찾는 위치입니다. winword.exe가 포함 된 디렉토리가 PATH의 일부가 아닌 경우에도 왜 winuda.exe가 시작되지만 audacity.exe에 대해 동일한 내용이 적용되지 않습니까?
다른 응용 프로그램도 시도했습니다. 시작 명령을 사용하면 Chrome과 Firefox가 작동합니다.
업데이트 : Windows 버전 6.3.9600 (Windows 8.1)을 실행하고 있습니다