[DIR, FOR] 1コマンドで指定フォルダ内の全てのファイル名を取得する方法

プログラミング
・特定のフォルダ内にあるすべてのファイル名を一覧として取得したい。
・取得したファイル名の一覧をファイルに出力したい。
・たったの1コマンドでファイル名の一覧を取得したい。

上記の悩みを抱える方に、Windowsコマンドたったの1コマンドで特定のフォルダ内のすべてのファイル名を取得し、ファイルに出力する方法をお教えします。
たったの1コマンドで方法はとても簡単なため、よければ参考にしてみてください。

 

たったの1コマンドで特定のフォルダ内のすべてのファイル名を取得し ファイルに出力する方法

使用したもの
・コマンドプロンプト

 

実施手順

1. エクスプローラーを開き、ファイル名の一覧を取得したいフォルダに移動する。

 

2. エクスプローラーのアドレスバーに「cmd」と入力してEnterキーを押下し、コマンドプロンプトを開く。

 

3. 下記のコマンドを入力し、実行する。
FOR /F %I IN (‘DIR /A:-D /B’) DO @ECHO %~nxI >> ../result.txt

 

4. コマンドを実行した1つ上の階層に「result.txt」というファイル名一覧取得結果のファイルが作成される。

 

本コマンドの詳細説明

DIRコマンド

「/A」オプションは、指定された属性のファイルを表示します。
「/A」オプションの属性の「D」はディレクトリ(フォルダ)、「-」はその属性以外を表します。
つまり、「/A:-D」はディレクトリ以外のすべてのファイルを表します。

「/B」オプションは、ファイル名のみを表示し、見出しや要約が付かなくなります。

 

FORコマンド

「/F」オプションは、ファイルの各行を順番に読み込んでループ処理を行うことを表します。
今回はINにファイル名ではなくコマンドを指定しているので、コマンドの実行結果を1行ずつ取得して変数I(%I)に渡し、各行ずつ処理することになります。

DO以降のコマンドで変数Iの値を取得して処理を行います。
今回は取得したファイル名をファイルに出力したいので、ECHOコマンドの結果をコマンドを実行する1つ上の階層のresult.txtに順次書き出していきます。
ファイルには追加で書き込む必要があるので、大なり記号2つの「>>」でリダイレクトします。

「%~nxI」で変数Iで受け取った値のファイル名と拡張子を取得することができます。


 

以上です。
みなさんいかがでしたか?
とても簡単でしたよね?

ここまで読んだくださってありがとうございました。
今後もみなさんのお役に立てるような情報を発信していきます。


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