使用DOS指令 dir /x 來取得目錄或檔案的8.3格式短檔名


在寫程式在建置專案的時候,常常會需要用到一些系統變數或指定目錄,若程式是在Windows上執行的話還好,如果是Linux系統之類的OS那就常發生問題,例如用cygwin來開發時,假設要存取Visual Studio 2005的系統變數,就會發生無法存取的問題,為什麼明明變數都定義了,一樣有問題?其實這也許只是路徑在搞怪,可能是路徑過長、特殊符號或空白格,這時可以利用「dir /x」的指令,取得8.3格式的短檔名。

請進入DOS模式,直接用「dir /x」來查詢欲修改的目錄短檔名,例如下圖,本來「IDM Computer Solutions」的原名稱,經過「dir /x」後變成了「IDMCOM~1」,這就是所謂的短檔名,再以此類推就行了。

回到前文的假設例子:
系統變數原為:c:\Program Files\Microsoft Visual Studio 8\Common7\Tools\
修改後的變數為:c:\PROGRA~1\MID05A~1\Common7\Tools\