Вдохновлен сегодняшней статьей DailyWTF .
Автор утверждает, что файл C:\Program.exe
будет выполнен при нажатии на ярлык, например C:\Program Files\Doom 2\doom2.exe -nomusic
,.
Предположительно, Windows сначала пытается вызвать C:\Program
аргументы 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 было такое умопомрачительное поведение, как описано в статье. Это слишком большой недостаток безопасности, чтобы остаться незамеченным, пока какая-то случайная ежедневная отправка WTF не обнаружит его, по крайней мере, десятилетие спустя, поскольку это должна была быть версия Windows, предшествующая XP.
Отредактируйте для ясности: вот как я сам это проверял.
- Нужно скопировать файл 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: \. Я спорю, что Windows рекурсивно пытается каждый каталог, пока он не совпадет.
Итак, какая-нибудь версия Windows когда-либо работала таким образом?
C:\Program Files\...
, и интерпретирует ли Windows такой ярлык (или команду «Выполнить», или команду командной строки, или какой-либо другой метод) как "C:\Program" Files\...
. Первая часть кажется маловероятной, но вторая часть кажется вероятной и ожидаемой для меня.
C:\Program Files
как "C:\Program Files"
? После небольшого прочтения, похоже, что ответ в некоторых случаях может быть «да», что является единственной действительно неожиданной областью.