顯然,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並且沒有失敗,出現某種「未找到路徑」錯誤。
與大多數軟件供應商一樣,微軟從不記錄他們的「這是錯誤的,但我會接受它」解決方法。記錄它合法化做錯了。 –