ある朝、職場のネットワークハードディスクの容量がパンパンで、ヤバい💦無用なものは破棄せよ💢
ってな、指示が飛んできました…(そもそも、常にパンパン(レッドゾーン)で使い続けているのがイカンやろ…と思いつつ…)
ハードディスク内のディレクトリとファイル一覧が無いと、いちいち各ディレクトリに行って、サイズ見て削除なんてやってられん😭
と思い、バッチファイルとExcelで、手抜きでファイル一覧を作成したので、その方法をご紹介します👍
因みに、この記事では、先ずバッチファイルでの作業を整理します✨
複数階層のファイルリストを作成するコード
長くなりそうなので、先にコード全体を示します👍
細かい内容は取り敢えず不要!とのことでしたら、以下を実行すればファイル情報が得られます!
黒い画面に『Finish!!』と表示されたら、テキストファイル内にファイルリスト(ファイル情報一式)が出力されています👍️
@echo off set SaveDir=%~dp0 cd /d %SaveDir% echo ---------------------------------- echo フォルダ内のファイル抽出中 dir /a:-d /s > ファイル情報.txt" echo Finish!! echo ---------------------------------- pause
細かい内容は取り敢えず不要!とのことでしたら、以下を実行すればファイル情報が得られます!
- 上記コードをコピー
- テキストファイルに張り付けて、リストを作成したいディレクトリの一番上の階層に保存
- 保存したテキストファイルの拡張子を『.bat』に変更
- ダブルクリックで実行
黒い画面に『Finish!!』と表示されたら、テキストファイル内にファイルリスト(ファイル情報一式)が出力されています👍️
上記バッチファイルの作成時に考えたこと(リストに欲しい情報・機能)
作業前に、先ずはファイルリストに欲しい情報と機能について考えました。
今回の場合、ファイル名は勿論ですが、重要性、削除した際の影響度も判断したかったので、以下の情報リストに入れ込むことに!
加えて、作業効率化の観点から、ファイルリストには、保存先ディレクトリに簡単アクセスするための、リンク機能必須!!
と言うことで、最低限、上記情報とリンク機能を備えたリストを作成する事にしました👍️
今回の場合、ファイル名は勿論ですが、重要性、削除した際の影響度も判断したかったので、以下の情報リストに入れ込むことに!
- ファイル名
- 最終的な更新日時
- ファイルサイズ
- ファイルか保存されているディレクトリの階層
加えて、作業効率化の観点から、ファイルリストには、保存先ディレクトリに簡単アクセスするための、リンク機能必須!!
と言うことで、最低限、上記情報とリンク機能を備えたリストを作成する事にしました👍️
dirコマンド(バッチファイル)でファイル情報抽出!
作業フロー(バッチ→エクセル)
職場なので、フリーソフトは入れられないし、Cとかのコンパイルを出来るソフトなけりゃ、自分に知識もない…
ってことで、結局、バッチファイル(cmd)とExcelで作業する事にしました。
作業のフローは、
ってことで、結局、バッチファイル(cmd)とExcelで作業する事にしました。
作業のフローは、
- バッチファイルで情報一式を抽出 ⇒ テキストファイルに出力
- テキストファイルの中身をExcel表に貼り付け
- Excelのマクロ(VBA)を使って、ディレクトリへのリンク作成&整形
バッチファイル用コード(dirコマンド)の作成
『dir』コマンドは、以前の記事(↓)でもご紹介したことがありますが、ファイル名などの一覧を抽出できるコマンドです。
大量のファイル名を一気に変更する方法 (①元ファイル名一覧を簡単に作成する方法) 今回は、複数の階層のフォルダ内のファイル情報一式を抽出する必要がありますが、これもオプションの設定で『dir』コマンド で達成可能です。
大量のファイル名を一気に変更する方法 (①元ファイル名一覧を簡単に作成する方法) 今回は、複数の階層のフォルダ内のファイル情報一式を抽出する必要がありますが、これもオプションの設定で『dir』コマンド で達成可能です。
『dir』コマンドとオプション
dirコマンドの構文は、
このdirコマンドのみを使用しますと、
↑のように、情報の過不足が発生します💦
そこで、『オプション』を設定します。今回は、
(その他のオプションについては、コチラのサイトが個人 的には分かり易いです。)
今いる階層> dir (ファイル名) (オプション) (ディレクトリ名)ですが、私の使い方ですと、基本的に、
今いる階層> dir (オプション)だけで使うことが多いです。
このdirコマンドのみを使用しますと、
↑のように、情報の過不足が発生します💦
そこで、『オプション』を設定します。今回は、
- /a:** オプション
- /s オプション
(その他のオプションについては、コチラのサイトが個人 的には分かり易いです。)
『/a:**』オプションの効果
『/a:**』はdirコマンドで表示される情報のうち、表示する属性(種類)を指定するオプションです。
『**』の部分で種類を指定するのですが、
今回は、ファイルを抽出したいだけで、ディレクトリがどれだけあるかは対象では無いので、実際にコードを書く際には、
これで、今回は不要なディレクトリの情報を排除できました。
ただ、現状では一つのディレクトリの情報しか取得できていませんorz
そこで、登場するのが『/s』オプションになります。
『**』の部分で種類を指定するのですが、
- d はディレクトリ
- r は読み取り専用ファイル
- a はアーカイブ
- s はシステムファイル
- h は隠しファイル
今回は、ファイルを抽出したいだけで、ディレクトリがどれだけあるかは対象では無いので、実際にコードを書く際には、
今いる階層> dir /a:-dとしました。
これで、今回は不要なディレクトリの情報を排除できました。
ただ、現状では一つのディレクトリの情報しか取得できていませんorz
そこで、登場するのが『/s』オプションになります。
『/s』オプションの効果
バッチファイルでテキストファイルとしてファイル情報を抽出
Excelを活用して、ファイルリストを整形
こちらは近日中に記事を作成しようと思います!乞うご期待😁
まとめ
以上、この記事ではHDDなどの中に入の複数の階層を含めたファイル情報の抽出方法を整理しました。
一度バッチファイルを作り、実行してしまえば後は放置ですので、時間を確保できるようになります😆
時間できた空き時間は、コーヒータイムなり自己啓発なり息抜きなり、いい時間にして貰えればと思います👍️
一度バッチファイルを作り、実行してしまえば後は放置ですので、時間を確保できるようになります😆
時間できた空き時間は、コーヒータイムなり自己啓発なり息抜きなり、いい時間にして貰えればと思います👍️
Tips
【ディレクトリ・ファイル名の付け方に注意!!】
バッチファイルなどを使うようになるまでは、私も気にしていなかったのですが、時短の為にバッチファイルなどを活用するようになってから、ディレクトリやファイルの名前の付け方に注意するべき点があることに気づきました!!
それは…
スペースを入れるべきではない!!(半角でも、全角でも)
です。
どうしても入れたければ、『_』や『-』で文字を繋いだ方が良いです。
と言うのも、コード類的にはスペースが入ることで読み込めなくなること(又は、一手間加えなければいけないこと)が発生することがあるためです
『スペース問題』と呼んでいますが、これは案外、気付きにくいエラーになるので、ご注意ください😁👍️
バッチファイルなどを使うようになるまでは、私も気にしていなかったのですが、時短の為にバッチファイルなどを活用するようになってから、ディレクトリやファイルの名前の付け方に注意するべき点があることに気づきました!!
それは…
スペースを入れるべきではない!!(半角でも、全角でも)
です。
どうしても入れたければ、『_』や『-』で文字を繋いだ方が良いです。
と言うのも、コード類的にはスペースが入ることで読み込めなくなること(又は、一手間加えなければいけないこと)が発生することがあるためです
『スペース問題』と呼んでいますが、これは案外、気付きにくいエラーになるので、ご注意ください😁👍️
0 件のコメント:
コメントを投稿