Windowsバッチファイルで楽をする:Dirコマンドのオプションを使った応用例

Windows
記事内に広告が含まれています。
スポンサーリンク

バッチファイルは、Windowsでの作業を自動化し、効率を上げるための強力なツールです。
特に、dirコマンドはファイルやディレクトリの一覧を表示する際に非常に便利です。
この記事では、dirコマンドのオプションを活用したバッチファイルの作成例を初心者向けに解説します。

スポンサーリンク

Dirコマンドの基本

Dirコマンドは、指定したディレクトリ内のファイルやサブディレクトリの一覧を表示します。
このコマンドは、さまざまなオプションと組み合わせることで、出力をカスタマイズできます。

オプションの解説と例

  • /A オプションは、特定の属性を持つファイルのみを表示します。
    例えば、dir /A:H は隠しファイルのみを表示します。
    属性には下記が設定可能です。
     D ディレクトリ
     R 読み取り専用
     H 隠しファイル
     A アーカイブ
     S システム ファイル
     I 非インデックス対象ファイル
     L 再解析ポイント
     O オフライン ファイル
     - その属性以外
  • /B オプションは、ファイル名のみを表示し、詳細情報を省略します。
    これは、ファイル名を他のコマンドに渡す際に便利です。
  • /C オプションは、ファイルサイズの表示にカンマを含めます。
    これにより、大きなファイルサイズが読みやすくなります。
    これはデフォルトの表示設定なので、逆にカンマを含めたくない場合は/-Cオプションを使います。
  • /D オプションは、複数列でファイル一覧を表示します。/Wと同じですが ファイルを列で並べ替えた一覧を表示します。
    これにより、画面のスペースを有効活用できます。
  • /L オプションは、小文字でファイル名を表示します。
  • /N オプションは、新しい行でファイル名を表示し、より読みやすい形式にします。
  • /O オプションは、ファイルを並べ替えて表示します。
    例えば、dir /O:N は名前順に、dir /O:S はサイズ順に並べ替えます。
  • /P オプションは、画面が一杯になると一時停止し、ユーザーがスクロールして全ての内容を見ることができるようにします。
  • /Q オプションは、ファイルの所有者を表示します。
  • /R オプションは、代替データストリームを表示します。
  • /S オプションは、指定したディレクトリとそのサブディレクトリ内のファイルを表示します。
  • /W オプションは、ワイド一覧形式で表示します。
  • /X オプションは、8.3形式以外の長いファイル名に対する短いファイル名を表示します。
  • /- オプションは、オプションの効果を取り消します。

バッチファイルの具体的な例

以下は、これらのオプションを組み合わせたバッチファイルの例です。

@echo off
echo ファイル一覧を取得します...
dir /B /O:N /S /A:-D > filelist.txt
echo 完了しました。filelist.txtを確認してください。

このバッチファイルは、現在のディレクトリとそのサブディレクトリ内のファイル名を名前順に一覧表示し、その結果をfilelist.txtに出力します。
/Bでファイル名のみ表示、/O:Nで名前の順に表示、 /Sで現在のディレクトリ(フォルダ)とそのサブディレクトリ(サブフォルダ)内をすべて表示、/A:-Dでディレクトリ(フォルダ)を除いています。

補足説明

dirコマンドの/Rオプションは、ファイルの代替データストリーム(Alternate Data Streams, ADS)を表示するために使用されます。
Windowsファイルシステムでは、ファイルにはメインのデータストリームの他に、追加のデータを格納するための代替データストリームが存在することがあります。
これは主にNTFSファイルシステムで利用される機能です。

代替データストリームを使用すると、ファイルに関連付けられた追加情報を隠し持つことができます。
例えば、インターネットからダウンロードしたファイルには、どのウェブサイトからダウンロードされたかという情報がADSに保存されることがあります。
この情報は通常のファイルエクスプローラーでは見ることができず、dirコマンドの/Rオプションを使用することで初めて表示されます。

以下は、dirコマンドの/Rオプションを使用したバッチファイルの例です。

@echo off
echo 代替データストリームを持つファイルを検索します...
dir /R
echo 検索が完了しました。

このバッチファイルは、現在のディレクトリ内のすべてのファイルについて、代替データストリームを表示します。
ファイル名の最後に「:$DATA」という文字列が付いているのが代替データストリームです。
一つのファイルに複数のデータストリームがついている場合もあります。

2024/03/06  14:16       312,945,392 Setup.Microsoft.PowerAutomate.exe
                                  0 Setup.Microsoft.PowerAutomate.exe:BDU:$DATA
                                194 Setup.Microsoft.PowerAutomate.exe:Zone.Identifier:$DATA


この情報はセキュリティの観点からも重要であり、不審なADSの使用を検出するのに役立ちます。

代替データストリームは、セキュリティソフトウェアやフォレンジックツールで分析されることが多いですが、dirコマンドの/Rオプションを使うことで、手軽に確認することが可能です。
ただし、この機能を悪用するマルウェアも存在するため、見慣れないADSがある場合は注意が必要です。

まとめ

Dirコマンドのオプションを理解し、適切にバッチファイルに組み込むことで、Windowsでの作業を大幅に効率化できます。
この記事が、バッチファイル作成の入門として役立つことを願っています。
バッチファイルの世界に飛び込んで、自分だけの自動化スクリプトを作成してみましょう!

免責規定

この記事で提供される情報は、一般的なガイダンスを目的としており、すべての環境やシステムでの動作を保証するものではありません。
OSのバージョンやリリースによっては、記載されているコマンドが実行できない、または異なる結果をもたらす可能性があります。
また、会社内のパソコンなど、ポリシーや権限によっては実行できない場合があります。
実行には管理者権限が必要な場合が多いため、注意が必要です。
この記事の情報を使用することによって生じる問題や結果について、筆者およびサイト管理者は責任を負いません。
すべての操作は自己責任で行ってください。

最後までお読みいただきありがとうございました。
またお会いしましょう!

コメント

タイトルとURLをコピーしました