显然,Windows(或至少Windows的某个部分)会忽略路径中的多个反斜杠,并将它们视为单个反斜杠。例如,从命令提示符或运行窗口中执行这些命令打开记事本:Windows路径中多个反斜杠的记录行为
C:\Windows\System32\Notepad.exe
C:\Windows\System32\\Notepad.exe
C:\Windows\System32\\\Notepad.exe
C:\Windows\System32\\\\Notepad.exe
C:\\Windows\\System32\\Notepad.exe
C:\\\Windows\\\System32\\\Notepad.exe
这甚至可以在命令行上传递的参数的工作:
notepad "C:\Users\username\Desktop\\\\myfile.txt"
这种行为记录地方?我尝试了几次搜索,只发现this SO问题,甚至提到了行为。
注:我不是问UNC路径(\\服务器名),在\\。\前缀,或\\”双引号逃逸
注:我偶然发现了这种行为与工作时。批处理文件批处理文件一号线看起来是这样的:
"%SOME_PATH%\myapp.exe"
变量扩展后,命令看起来像:
"C:\Program Files\Vendor\MyApp\\myapp.exe"
令我惊讶的是,作为欲望执行批处理文件d并且没有失败,出现某种“未找到路径”错误。
与大多数软件供应商一样,微软从不记录他们的“这是错误的,但我会接受它”解决方法。记录它合法化做错了。 –