dir

ディレクトリのファイルとサブディレクトリの一覧を表示します。 パラメーターを指定せずに使用した場合、このコマンドはディスクのボリューム ラベルとシリアル番号を表示し、その後にディスク上のディレクトリとファイルの一覧を表示します (名前と、各ファイルが最後に変更された日時も含まれます)。 ファイルの場合、このコマンドは、名前の拡張子とサイズをバイト単位で表示します。 このコマンドでは、一覧表示されているファイルとディレクトリの総数、累積サイズ、ディスクに残っている空き領域 (バイト単位) も表示されます。

dir コマンドは、さまざまなパラメーターを使用して Windows 回復コンソールから実行することもできます。 詳しくは、Windows 回復環境 (WinRE) に関する記事をご覧ください。

構文

dir [<drive>:][<path>][<filename>] [...] [/p] [/q] [/w] [/d] [/a[[:]<attributes>]][/o[[:]<sortorder>]] [/t[[:]<timefield>]] [/s] [/b] [/l] [/n] [/x] [/c] [/4] [/r]

パラメーター

パラメーター 説明
[<drive>:][<path>] 一覧を表示するドライブとディレクトリを指定します。
[<filename>] 一覧を表示する特定のファイルまたはファイルのグループを指定します。
/p 一覧の 1 つの画面を一度に表示します。 次の画面を表示するには、任意のキーを押します。
/q ファイルの所有権情報を表示します。
/w 一覧をワイド形式で表示します。最大で 5 つのファイル名またはディレクトリ名が各行に表示されます。
/d 一覧を /w と同じ形式で表示しますが、ファイルは列で並べ替えられます。
/a[[:]<attributes>] 指定した属性を持つディレクトリとファイルの名前のみを表示します。 このパラメーターを使用しない場合、コマンドを実行すると、隠しファイルとシステム ファイルを除くすべてのファイルの名前が表示されます。 attributes を指定せずにこのパラメーターを使用すると、このコマンドは、隠しファイルやシステム ファイルなど、すべてのファイルの名前を表示します。 使用可能な attributes 値の一覧は次のとおりです。
  • d - ディレクトリ
  • h - 隠しファイル
  • s - システム ファイル
  • l - 再解析ポイント
  • r - 読み取り専用ファイル
  • a - アーカイブの準備が完了したファイル
  • i - コンテンツにインデックスが作成されていないファイル
これらの値の任意の組み合わせを使用できますが、スペースを使用して値を区切ることはできません。 必要に応じて、コロン (:) を使用することもできます。区切り記号。ハイフン (-) をプレフィックスとして使用して、"not" を意味します。 たとえば、-s 属性を使用してもシステム ファイルは表示されません。
/o[[:]<sortorder>] sortorder の順序に従って出力を並べ替えます。次の値の任意の組み合わせを指定できます。
  • n - 名前のアルファベット順
  • e - 拡張子のアルファベット順
  • g - ディレクトリを最初にグループ化
  • s - サイズ別、最小値からの昇順
  • d - 日付/時刻別、古い順
  • - プレフィックスを使用すると、並べ替え順序は逆
複数の値は、一覧の順序に従って処理されます。 複数の値をスペースで区切るのではなく、必要に応じてコロン (:) を使用することもできます。

sortorder が指定されていない場合、dir /o では、ディレクトリがアルファベット順に一覧表示され、次にファイルが表示され、これらもアルファベット順に並べ替えられます。

/t[[:]<timefield>] 表示または並べ替えに使用する時間フィールドを指定します。 有効な timefield の値は次のとおりです。
  • c - 作成
  • a - 最終アクセス
  • w - 最終書き込み時刻
/s 指定したディレクトリとすべてのサブディレクトリ内で、指定したファイル名が出現するたびに一覧表示します。
/b ディレクトリとファイルの一覧を表示します。追加情報は含まれません。 /b パラメーターは /w をオーバーライドします。
/l 並べ替えられていないディレクトリ名とファイル名を小文字で表示します。
/n 画面の右端にファイル名を含む長いリスト形式が表示されます。
/x 非 8dot3 ファイル名に対して生成される短い名前を表示します。 表示は /n の表示と同じですが、短い名前は長い名前の前に挿入されます。
/c ファイル サイズで桁区切り記号を表示します。 これが既定の動作です。 区切り記号を非表示にするには、/-c を使用します。
/4 年を 4 桁の形式で表示します。
/r ファイルの代替データ ストリームを表示します。
/? コマンド プロンプトにヘルプを表示します。

解説

  • 複数の filename パラメーターを使用するには、各ファイル名をスペース、コンマ、またはセミコロンで区切ります。

  • ワイルドカード文字 (* または ?) を使用して、ファイル名の 1 つ以上の文字を表すことや、ファイルまたはサブディレクトリのサブセットを表示することができます。

  • ワイルドカード文字 * を使用すると、任意の文字列を置き換えることができます。次に例を示します。

    • dir *.txt は、現在のディレクトリにある .txt、txt1、.txt_old などの .txt で始まる拡張子を持つファイルをすべて一覧表示します。

    • dir read *.txt は、現在のディレクトリにある read で始まり、.txt、txt1、.txt_old などの .txt で始まる拡張子を持つすべてのファイルを一覧表示します。

    • dir read *.* は、現在のディレクトリにある read で始まる任意の拡張子を持つすべてのファイルを一覧表示します。

    アスタリスクのワイルドカードでは、常に短いファイル名マッピングが使用されるため、予期しない結果が発生する可能性があります。 たとえば、次のディレクトリには、2 つのファイル (txt2 と t97.txt) が格納されています。

    C:\test>dir /x
    Volume in drive C has no label.
    Volume Serial Number is B86A-EF32
    
    Directory of C:\test
    
    11/30/2004  01:40 PM <DIR>  .
    11/30/2004  01:40 PM <DIR> ..
    11/30/2004  11:05 AM 0 T97B4~1.TXT t.txt2
    11/30/2004  01:16 PM 0 t97.txt
    

    dir t97\* を入力すると、t97.txt ファイルが返されることが予想される場合があります。 しかし、dir t97\* を入力すると、両方のファイルが返されます。これは、短い名前マップ T97B4~1.TXT を使用することによって、アスタリスクのワイルドカードがファイル t.txt2 を t97.txt に一致させるためです。 同様に、del t97\* と入力すると、両方のファイルが削除されます。

  • 名前の 1 文字の代わりに疑問符 (?) を使用できます。 たとえば、dir read???.txt と入力すると、現在のディレクトリにある read で始まり 3 文字までの文字が続く .txt 拡張子を持つ任意のファイルが一覧表示されます。 これには、Read.txt、Read1.txt、Read12.txt、Read123.txt、Readme1.txt が含まれますが、Readme12.txt は含まれません。

  • attributes に複数の値を指定して /a を使用する場合、このコマンドを実行すると、指定したすべての属性を持つファイルのみの名前が表示されます。 たとえば、/ar-h の属性として (/a:r-h または /ar-h のいずれかを使用) 一緒に使用する場合、このコマンドでは、非表示になっていない読み取り専用ファイルの名前のみが表示されます。

  • 複数の sortorder 値を指定した場合、このコマンドは、最初の条件、次に 2 番目の条件の順にファイル名を並べ替えます。 たとえば、/osortordere パラメーターと -s パラメーター (/o:e-s または /oe-s のいずれかを使用) と一緒に使用した場合、このコマンドは、ディレクトリとファイルの名前を拡張子によって最大のファイルを最初にして並べ替え、最終結果を表示します。 拡張子によるアルファベット順の並べ替えでは、拡張子のないファイル名が最初、ディレクトリ名が次、拡張子を持つファイル名がその次先頭に表示されます。

  • リダイレクト シンボル (>) を使用してこのコマンドの出力をファイルに送信する場合、またはパイプ (|) を使用してこのコマンドの出力を別のコマンドに送信する場合は、/a:-d/b を使用してファイル名のみを一覧表示する必要があります。 filename/b/s と一緒に使用すると、このコマンドが、filename に一致するすべてのファイル名の現在のディレクトリとそのサブディレクトリを検索するように指定できます。 このコマンドは、検出された各ファイル名について、ドライブ文字、ディレクトリ名、ファイル名、およびファイル名拡張子 (1 行につき 1 つのパス) のみを一覧表示します。 パイプを使用してこのコマンドの出力を別のコマンドに送信する前に、Autoexec.nt ファイルで TEMP 環境変数を設定する必要があります。

すべてのディレクトリを 1 つずつ表示するには (アルファベット順、ワイド形式、各画面の後に一時停止)、ルート ディレクトリが現在のディレクトリであることを確認し、次のように入力します。

dir /s/w/o/p

出力には、ルート ディレクトリ、サブディレクトリ、およびルート ディレクトリ内のファイル (拡張子を含む) が表示されます。 このコマンドでは、ツリー内の各サブディレクトリのサブディレクトリ名とファイル名も一覧表示されます。

前の例を変更して、dir がファイル名と拡張子を表示するようにしますが、ディレクトリ名を省略するには、次のように入力します。

dir /s/w/o/p/a:-d

ディレクトリの一覧を出力するには、次のように入力します。

dir > prn

prn を指定すると、ディレクトリ リストは LPT1 ポートに接続されているプリンターに送信されます。 プリンターが別のポートに接続されている場合は、prn を正しいポートの名前に置き換える必要があります。

dir コマンドの出力は、prn をファイル名に置き換えてファイルにリダイレクトすることもできます。 パスも入力できます。 たとえば dir 出力を Records ディレクトリ内のファイル dir.doc に出力するには、次のように入力します。

dir > \records\dir.doc

dir.doc が存在しない場合は、Records ディレクトリが存在しないのでない限り、dir によって作成されます。 その場合、次のメッセージが表示されます。

File creation error

C ドライブ上のすべてのディレクトリで、拡張子が .txt のすべてのファイル名の一覧を表示するには、次のように入力します。

dir c:\*.txt /w/o/s/p

dir コマンドは、ワイド形式で、各ディレクトリ内の一致するファイル名のアルファベット順のリストを表示し、任意のキーを押して続行するまで、画面がいっぱいになると毎回一時停止します。