8.3形式の短いファイル名を使う
※実経験の記憶を頼りに自宅の PC 環境(VMWareなど)で再現している内容もあるのでご注意下さい
2008-08-04
5 年以上振りに DOS のバッチを触ることになったのですが、少ししか触ったことなかった割には意外に覚えているものです。dir とか cp なんてものはお決まりで、Linux などでは ls や copy と同じ意味なのですが、もちろん特殊なコマンドも多数あります。最近はもっぱらネットワーク絡みで ping や nslookup、ipconfig、時には nbtstat や netstat などを使うくらいでしょうか。
さてさて、そんな DOS バッチで新しく知ったことを書き残しておきます。まあ、DOS なんで需要なんてほとんどないでしょうが・・・。WindowsXP には Program Files や Documents and Settings などの半角スペースが混ざったディレクトリ(フォルダ)が最初から存在します。
(Windows Vista は触ったことないので知りません)
このディレクトリ名をそのまま記述すると、半角スペースで区切られて、Program Files だと Program の部分だけしか解釈されない場合があります。引数で使うときなどはよくあるパターンですね。そこで、半角スペースを含むディレクトリパスやファイルパスはダブルクォーテーションで囲んで記述してあげます。
例えば、"C:\Program Files" や "C:\Documents and Settings" など。
しかし、start コマンドを使って、別ウィンドウなどでプログラムを起動させる場合、起動プログラムのパスに半角スペースが含まれるとうまく解釈してもらえません。例えば、こんなコマンドです。
start /wait "C:\Program Files\saratoga.exe"
上記のように半角スペースを含む長いパスは、プログラムによっては実行コマンドや引数を解釈できない場合があります。そこで、8.3 形式で表現してあげる必要が出てきます。8.3 形式での表現方法は、dir コマンドを使うとわかります。
C:\>dir /x 2005/11/25 00:55 <DIR> Apache 2005/11/24 23:47 0 AUTOEXEC.BAT 2005/11/24 23:47 0 CONFIG.SYS 2008/05/14 15:10 <DIR> DOCUME~1 Documents and Settings 2008/07/28 01:43 <DIR> PROGRA~1 Program Files 2008/07/29 20:15 <DIR> WINDOWS 2005/11/25 01:18 <DIR> WINXP
8.3 形式のファイル名は dir /x の結果で表示されている DOCUME~1 や PROGRA~1 が該当します。この形式でファイル名やディレクトリ名を定義してあげれば、start コマンドを使ったプログラムも問題なく動作します。下記のサイトに詳しい説明があるので参考にしてみて下さい。
・[@IT Windows TIPS]8.3形式の短いファイル名を表示させる
関連記事
上記の記事に関連する記事(最新の10件)です。


