「C:\Program Files」とか「C:\Documents and Settings」とか空白が有るとなにかと不便。そこで回避策を2つほど
- 「"」で囲む cd "c:\Program Files\test"
- MS-DOS8.3形式で短縮する cd c:\PROGRA~1\test
一般的に「"」で囲むのが一般的ですがこれだとたまに使えないことがあります。それはstartコマンド等が「"」で囲ってあるとパスではなく文字列として認識してしまうためです。
例:以下のスタート処理は動きません。「"c:\Program Files\test\test.exe"」という名前のコマンドスクリプトが起動してしまいます。
start "c:\Program Files\test\test.exe"
そんな時はMS-DOS短縮を使いましょう。短縮後の名前は「dir /x」コマンドで確認できます。
C:\>dir /x 2007/12/25 19:54 <DIR> DOCUME~1 Documents and Settings 2008/01/21 09:30 <DIR> PROGRA~1 Program Files 2007/06/26 17:25 <DIR> ruby 2007/09/12 18:27 <DIR> SUBVER~1 subversion
これなら快適に動きます。
start c:\PROGRA~1\test\test.exe
また短縮されているので名前が短くてすみます。スクリプトが少しだけ短くなったりもする。(あんま意味無いけど)
またトリッキーですが
cd "c:\Program Files\test" としてから start test.exe
というのも手ですね。パスを「"」で囲えるコマンドで空白文字を回避してから本来使いたかったコマンドを実行する。*1
*1:「te st.exe」等とexe名にスペースが入っていたらダメですが。