建立目錄別名的連結-mklink
這個問題發生在我用 PowerShell 要呼叫notepad++,但是很機車的是,目錄有空白(C:\Program Files (x86)\Notepad++\notepad++.exe),空白後面會被視為 Parameter,但是用雙引號,又會被當做是字串直接 echo,所以我乾脆邁立目錄別名連結如下:
C:\>mklink /d Pgmx86 "C:\Program Files (x86)" 已建立 Pgmx86 的符號連結 <<===>> C:\Program Files (x86) C:\>mklink /d Pgmx64 "C:\Program Files" 已建立 Pgmx64 的符號連結 <<===>> C:\Program Files
C:\>dir Pro* 磁碟區 C 中的磁碟是 System 磁碟區序號: D82D-87D0 C:\ 的目錄 2011/10/24 下午 12:51 <DIR> Program Files 2011/11/10 下午 01:12 <DIR> Program Files (x86) 2011/11/10 上午 10:28 <DIR> ProgramData
這樣我就可以直接用:
c:\Pgmx86\Notepad++\notepad++.exe
叫出 notepad++ 了。
未建立別名前,在 PowerShell 會發生:
1. 加雙引號,直接被當字串 echo:
PS C:\Users\Leo> "C:\Program Files (x86)\Notepad++\notepad++.exe" C:\Program Files (x86)\Notepad++\notepad++.exe
2. 沒加雙引號,發生錯誤:
PS C:\Users\Leo> C:\Program Files (x86)\Notepad++\notepad++.exe 無法辨識 'C:\Program' 詞彙是否為 Cmdlet、函數、指令檔或可執行程式的名稱。請檢查名稱拼字是否正確 ,如果包含路徑的話,請確認路徑是否正確,然後再試一次。 位於 行:1 字元:11 + C:\Program <<<< Files (x86)\Notepad++\notepad++.exe + CategoryInfo : ObjectNotFound: (C:\Program:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
--------
沒什麼特別的~
不過是一些筆記而已