오늘의 DailyWTF 기사에서 영감을 얻었습니다 .
저자는 C:\Program.exe
예를 들어 바로 가기를 클릭하면 파일 이 실행될 것이라고 주장합니다 C:\Program Files\Doom 2\doom2.exe -nomusic
.
아마도 Windows는 먼저 C:\Program
arguments 를 사용하여 호출하려고 시도합니다 Files\Doom 2/doom2.exe -nomusic
.
없는 경우 인수를 사용하여 C:\Program.exe
시도합니다 .C:\Program Files\Doom
2/doom2.exe -nomusic
그리고가 없으면 C:\Program Files\Doom.exe\
마침내 시도 C:\Program Files\Doom 2\doom2.exe -nomusic
하고 성공합니다.
이것은 나에게 완전한 넌센스처럼 들립니다. 나는 그것이 이런 식으로 작동했다고 믿을 수 없다. 주석가가 잘 정리합니다 .
릴리스 된 Windows 버전이 OP에 설명 된 시행 착오 접근 방식을 사용했다고 믿기가 어렵습니다.
나는 Windows의 출시 버전이 기본적으로 뇌인 행동을했다고 믿고 있습니다. 나는 그것을 여러 번 직접 경험했습니다.
내가 믿지 않는 것은 기사의 설명에 따라 릴리스 된 버전의 Windows에 이러한 뇌사적인 동작 이 있다는 것 입니다. XP의 이전 버전이었던 Windows 버전이었던 10 년이 지난 후 임의의 일일 WTF 제출이이를 발견 할 때까지 눈에 띄지 않는 것은 보안상의 결점입니다.
명확성을 위해 편집하십시오 : 여기 내가 직접 테스트 한 방법이 있습니다.
- notepad.exe를 C : \ program.exe로 복사
- C : \ program files \ Internet explorer \ iexplore.exe를 실행하십시오.
- 메모장이 열립니다. C : \ program이라는 것을 발견했기 때문에 예상됩니다.
- progam.exe를 C : \ program files \ Internet.exe로 이동
- C : \ program files \ Internet explorer \ iexplore.exe를 실행하십시오.
이 기사 의 저자 ( 및 Microsoft 의이 기사 )에 따르면 메모장은 여전히 열려 있어야합니다. 그러나 그렇지 않습니다.이 메시지와 함께 명령이 실패합니다.
C:\program is not recognized as an internal or external command, operable program or batch file.
다시 한 번, C : \ program이 호출 될 것이라는 기사의 주장에 대해서는 논쟁하지 않습니다. Windows가 일치 할 때까지 모든 디렉토리를 재귀 적으로 시도한다고 토론하고 있습니다.
그렇다면 Windows의 모든 버전이 이런 식으로 작동 했습니까?
C:\Program Files\...
Windows가 바로 가기 (또는 실행 명령 또는 명령 프롬프트 명령 또는 다른 방법)를 다음과 같이 해석합니다 "C:\Program" Files\...
. 첫 번째 부분은 거의 보이지 않지만 두 번째 부분은 나에게 가능성이 있고 예상되는 것 같습니다.
C:\Program Files
은 "C:\Program Files"
? 약간의 독서에서, 어떤 경우에는 대답이 "예"일 수 있으며, 이것이 실제로 예상치 못한 유일한 영역입니다.