ホーム > コマンドプロンプト・バッチファイル リファレンス
Windowsでファイル一覧を取得するコマンドですが、よく使う割にオプションの組み合わせを忘れてしまうことがあるので、ここに残しておきたいと思います。
使い勝手のいいコマンド dir編
サブディレクトリ配下を含めたフルパスで取得
指定したディレクトリ配下のファイルリストをフルパス形式で取得するコマンドです。
dir /a-d /b /s "{ディレクトリパス}"
c:\workspace>dir /a-d /b /s "C:\workspace" C:\workspace\20210101.log C:\workspace\20210102.log C:\workspace\20210103.log C:\workspace\SampleFile.xlsx C:\workspace\サンプルファイル.txt C:\workspace\テストフォルダ\テストファイル.docx C:\workspace\テストフォルダ\テストファイル.txt
サブディレクトリ配下を含めたフルパスで取得(ワイルドカード)
指定したディレクトリ配下のファイルリストをフルパス形式で取得するコマンドですが、
ワイルドカードを使用して、拡張子が「log」のファイルのみを取得します。
dir /a-d /b /s "{ディレクトリパス}\*.log"
c:\workspace>dir /a-d /b /s "C:\workspace\*.log" C:\workspace\20210101.log C:\workspace\20210102.log C:\workspace\20210103.log C:\workspace\テストフォルダ\20210201.log C:\workspace\テストフォルダ\20210202.log C:\workspace\テストフォルダ\20210203.log
dirコマンドのオプション
- /a:a アーカイブのみ表示
- /a:d ディレクトリ(フォルダ)のみ表示
- /a:h 隠しファイルのみ表示
- /a:r 読み取り専用ファイルのみ表示
- /a:s システムファイルのみ表示
- /a-a アーカイブ以外を表示
- /a-d ディレクトリ以外を表示
- /a-h 隠しファイル以外を表示
- /a-r 読み取り専用ファイル以外を表示
- /a-s システムファイル以外を表示
- /b ディレクトリとファイルのみ表示
- /b ファイルサイズを3桁ごとにカンマで区切って表示
- /-c ファイルサイズをカンマで区切らずに表示
- /d ファイル名のみで詰めて表示(縦並び)
- /l 結果をすべて小文字で表示
- /o:d 作成日時の古い順に表示
- /o:e 拡張子のアルファベット昇順に表示
- /o:g ディレクトリを先に表示
- /o:n 名前のアルファベット昇順に表示
- /o:s ファイルサイズが小さい順に表示
- /o-d 作成日時の新しい順に表示
- /o-e 拡張子のアルファベット降順に表示
- /o-g ディレクトリを後に表示
- /o-n 名前のアルファベット降順に表示
- /o-s ファイルサイズが大きい順に表示
- /p 結果が長い場合1ページずつ表示(任意のキーで次ページへ進む)
- /q ファイルの所有者情報を表示
- /s サブディレクトリも含め全てのファイルを表示
- /w ファイル名のみで詰めて表示(横並び)
- /? ヘルプの表示
使い勝手のいいコマンド where編
指定したディレクトリ配下のファイルリストをフルパス形式で取得するコマンドです。
また、dirコマンドと違い、ファイルサイズとタイムスタンプも取得することが可能です。
サブディレクトリ配下を含めたフルパスで取得
where /r {ディレクトリパス} * /t
c:\workspace>where /r .\テストフォルダ * /t 3 2022/03/06 17:48:57 c:\workspace\テストフォルダ\20210201.log 7 2022/03/06 17:49:05 c:\workspace\テストフォルダ\20210202.log 0 2021/09/25 0:25:18 c:\workspace\テストフォルダ\20210203.log 11556 2022/03/06 17:49:21 c:\workspace\テストフォルダ\フォルダ1\テストファイル.docx 0 2021/09/25 0:24:19 c:\workspace\テストフォルダ\フォルダ1\テストファイル.txt
サブディレクトリ配下を含めたフルパスで取得(ワイルドカード)
指定したディレクトリ配下のファイルリストをフルパス形式で取得するコマンドですが、
ワイルドカードを使用して、拡張子が「log」のファイルのみを取得します。
where /r {ディレクトリパス} *.log /t
c:\workspace>where /r .\テストフォルダ *.log /t 3 2022/03/06 17:48:57 c:\workspace\テストフォルダ\20210201.log 7 2022/03/06 17:49:05 c:\workspace\テストフォルダ\20210202.log 0 2021/09/25 0:25:18 c:\workspace\テストフォルダ\20210203.log
whereコマンドのオプション
- /f 一致したファイル名をダブルクォーテーションで囲って表示
- /r 指定したディレクトリから再帰的に検索を行う
- /q ファイルの一覧は表示せずに終了コードのみを返す
- /t ファイルサイズと最終更新日を表示
- /? ヘルプの表示
記事は以上です。使い勝手の良いコマンドがあれば、随時更新したいと思います。
コメント