シンプル・スマートな画面録画ソフト EaseUS RecExperts

2013-0405-063135

Windows、コマンドプロンプトのお話。

コマンドプロンプトからexeファイルなどを実行するときに、パスの中に半角のスペースを含んだフォルダがある場合、コマンドが正しくパスを認識してくれずにコマンドが実行出来ない場合があります。

(例えば、Program Files とか Documents and Settings とか)

本来であれば半角スペースは使わず、半角アンダーバー(_)などを使えばいいのですがそうしたフォルダがある場合は、簡単にフォルダ名を変更に変えるわけにいかない場合もあるので半角スペースを含んだフォルダのパスを指定する方法を調べてみました。

 
【新機能】わからないことはAIに聞いてみよう
質問内容を入力すると、皆さんの疑問にAIがお答えします。

※当機能は現在ベータ版です。 予告なく公開終了する場合があります。

MS-DOS短縮形式を利用する

半角スペースを含んだフォルダを指定するには、MS-DOS短縮形式を利用します。

この機能、正式には「MS-DOS8.3形式」という名称で、初期のMS-DOSシステムでは「8文字のファイル名」「3文字の拡張子」のファイル名しか使えない規則があり、その当時のファイル名にのっとった形式がMS-DOS8.3形式(なんかそのまんまですね)になります。

このMS-DOS短縮形式は半角スペースを含まないため、この形式を利用してパスの指定をすることが出来ます。

MS-DOS短縮形式の確認

MS-DOS短縮形式の確認方法ですが、コマンドプロンプトで確認したいフォルダの上の階層に移動し
dir /x
を実行します。

/x のオプションを付けてdirコマンドを実行すると、ファイル名の一覧と一緒に、MS-DOS短縮形式での表記が表示されます。

例えばProgram Filesのフォルダの場合、MS-DOS短縮形式だと

PROGRA~1

と表記されるようになります。

下記のような感じですね。
2013-0403-140006

パスを指定してみる

実際にパスとして指定してみると、こんな感じです。

cd c:\PROGRAM~1\

動画

 
この記事で解決しなかった疑問は疑問はAIに聞いてみよう
質問内容を入力すると、皆さんの疑問にAIがお答えします。

※当機能は現在ベータ版です。 予告なく公開終了する場合があります。

まとめ

上記のMS-DOS短縮形式で指定をするのも結構めんどくさいので、賢い人はフォルダ名に半角カタカナを含めずに半角アンダーバーで区切りを入れてあげる方がよさそうな気がします。

ただ、Microsoftは当然その仕様を知っているにも関わらず、デフォルトで半角スペースを含む名称を重要なフォルダに付与しているんですね…。 ちょっとそこんどこどうなのよ、という気もしますけど。