受到今日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的发行版会出现这种死脑的行为。这是一个巨大的安全漏洞,直到有人日报WTF随机提交发现它之后才被忽略,至少十年后,因为它必须是早于XP的Windows版本。
为清晰起见进行编辑:这是我自己进行测试的方式。
- 将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"
吗?从一点点阅读来看,在某些情况下,答案似乎可能是“是”,这是唯一真正出乎意料的领域。