コマンドプロンプトを使って、フォルダーツリーとファイルの一覧を出力できます。
Windows 11 になって少しだけ出力の様子が変わりましたが、やることはこれまでと同じです。
コマンドプロンプト
ファイル一覧
Windowsのフォルダーは気構造になっています。
この構造とファイルの一覧を取得できるのです。
コマンドプロンプトの画面に標示させるかたちでもよいのですが、テキストファイルに出力できるとよりよいと思いますよね。標準出力を活用しましょう。
やりたいこと
フォルダーに格納してあるファイルをフォルダーのツリー構造ごとテキスト形式で取得します。
得たい結果のイメージは以下のようなものです。
│ ssimg-2304-001.jpg │ ssimg-2304-002.jpg │ ssimg-2304-003.jpg │ ├─bmp │ 01-001.bmp │ 01-002.bmp │ 01-003.bmp │ └─text Doc001.txt Doc002.txt
上記は1階層ですが、複数階層のファイルのご案内などといった用途でしょうか。
自分で使うだけでなく、証憑関係の整理や共有フォルダーの状態確認など、用途はさまざまあると思います。
コマンドプロンプトで取得
使用するコマンドは tree です。
カレントディレクトリからの実行で、配下のツリー構造が出力されます。
オプションで「F」を指定してください。ファイル名も出力されます。
パス指定も可能なのですが、カレントディレクトリを移動して実行した方が簡単でしょう。
コマンド
ツリー構造を取得したい場所で以下を実行です。
TREE /F > files.txt
今いる場所がどこかは確認しておきましょう。
点滅しているカーソルの左側に標示されている文字列です。
たとえば「C:\Users\MyAccount\Downloads
」とかいったやつです。この場合は、MyAccountというユーザーの「ダウンロード」フォルダーということです。
行数が多ければ、それだけ時間はかかりますのでご承知おきください。
フォルダーツリーをファイルに出力
やっていることは単純で、tree
コマンドを実行して、結果をテキストファイル(files.txt)に出力しています。
なので「>
」の記号も重要です。ちゃんとした意味があります。
これは標準出力とかいった呼び方で、要するに、コマンドの実行結果をどこに出力するかを指定できるわけです。
何も指定しなければコマンドプロンプトの画面に出力されますが、テキストファイルを指定すればそこに結果が出力されます。
存在しないファイルは新規作成されます。
出力先をプリンターにするなどの考え方があったのです。
カレントディレクトリの移動
既述した「今いる場所」の移動は、cd
コマンドを使います。
引数としてフルパスを指定すれば間違いないでしょう。
フルパスはフォルダー画面でコピーできますので。
たとえば以下のような書き方です。
cd C:\Users\MyAccount\Downloads
どこに移動するかなどは、各環境次第です。
なおドライブを跨いでの指定はできないので、先に対象ドライブに切り替えておいてください。
ボリュームラベル + コロン です。
たとえばEドライブに切り替える場合は以下です。
e:
引数などは不要です。これでコマンドになっています。
テキストになってさえいれば
テキスト情報になっていれば、どうとでも料理できます。
そのままでも十分使えるものだと思いますし。
よくやるのは、Excelに貼り付けて、関数を駆使して必要な情報を取り出したり、見やすく整形したり、場合によってはリンクを使ってインデックス化したり、とかいった活用でしょうか。
tree
コマンドは、情報を参照するだけです。
指定を間違えたところでシステムが壊れるリスクはありません。
まずは使ってみればよいと思います。
ご意見やご感想などお聞かせください! コメント機能です。