すべてのサブフォルダー内のすべてのファイルをリストする


回答:


37

すべてのファイルを再帰的にリストする

C:\> dir / s

それらをファイルに保存するには

C:\> dir / s /b>filelist.txt

一度に1ページずつ表示する

C:\> dir / s | もっと


3
まあ、大丈夫...これも動作します。なぜだれもこれにWindowsの標準の検索機能を使用しないのか疑問に思います。:-)
ウィムテンブリンク

2
@Workshop Alex:1)dir条件をチェックする必要がない場合、再帰は少し高速です。2)名前をファイルに保存できます。
grawity

4
@WimtenBrink:他のユーザーにWindows検索をどのように送信しますか?
アドルフニンニク

1
もっとパイプする必要はありませ
ん。/p

3
質問はディレクトリについて言及していないので、そうすべきですdir /a-d /b /s
ジグガンジャー

15

tree / fを試してください。これにより、構造全体が出力されます。


1
リストではなくツリーとして表示されます。
ジョーイ

OPはその結果をリストと見なさないと思いますか?
ハイパースラッグ2009

2
ツリーコマンドには最適な書式設定があり、サブフォルダーのレベルを明確に確認できると思いました。
アレックス

それは最高の構造を持っています。テキストファイルまたはhtmlファイルとして保存できますか?
-xypha

試してみtree /f>filelist.txtたがうまくいった。
xypha

5

sourceforgeUnixUtilsを入手しますfind.exe

その後、フォルダパスを持つすべてのファイルのリストに対して次の操作を実行できます。

cd Path\to\folder
find.exe . -type f

他にも便利なUnixコマンドの形式があります。
出力は、ネイティブdirおよびtreeコマンドと比較してより検索可能です。


からの入力で更新されましたJohannes
ではcmd.exeシェル

dir /b /s

ウィドウ形式のフォームでの再帰的なリストでは非常にうまく機能し
ます( " C:\"および逆スラッシュ ' \'が表示されます)。
の「\bNifleの答えを完全に逃しました!(今のところ+1)。


ここで何もインストールする必要はありませんdir。これは完全に可能です。
ジョーイ

1
@Johannesは、あなたがUnixの比較持つfindDOSでの出力dir /sまたはtreeそのことについては?
ニック

1
使用したことがありdir /bますか?:-)
ジョーイ

@Johannes、実は、DOS 6.22日にそれをしたかどうか覚えていない。以上に慣れfindとCygwinで、DOSコマンドを試したことがない(実際にはオープンに私の瞬間を取っcmdシェルと避ける/usr/bin/dirことを学ぶために喜んで、それは動作しません、そのオプションをしようとする。しかし。:-)
NIK

2

なぜそんなに複雑なのですか?Windowsで「ファイル検索」を開始するには、Windowsキー+ Fを押します。左側で、[探す]に移動し、下部にある[参照...]というオプションを選択します。検索する(サブ)フォルダーを選択します。「ファイル名のすべてまたは一部」編集ボックスに「*」(引用符なし)を入力し、検索を開始します。大量のデータがある大きなディスクで検索しているときにコーヒーを飲み、このエクスプローラベースの検索エンジンが完全なリストを表示するのを待ちます。それを検索し、ファイルを直接開き、必要に応じて検索を絞り込むこともできます。

Windowsのこのデフォルトの検索動作を人々が忘れるのはなぜですか?


3
それは1337ではないからですか?:-)
Natrium

13
たとえば、テキストファイルで取得するのは難しいでしょう。
ジョーイ

確かに、だれかがテキストファイルでそれを必要とするのはなぜですか?:-)
ウィムテンブリンク

2
これは(少なくともWindows XPでは)すべてのサブフォルダー内のすべてのZIPファイルも検索することに注意してください。それは恐ろしく遅いでしょう。これはおそらくあなたが望むものではありません。簡単にオフにすることはできません。ZIPファイルがない場合、これが最良のアプローチであることに同意します。
マーティン

@Wim:5段階のプロセス(Win + F、参照、サブフォルダー、*、開始)は、「dir / s」と入力するよりもはるかに遅い(1分あたり100単語以上入力し、作業に使用するタイピスト向け)コマンドプロンプトで、頻繁に事前に開かれます)。また、あなたが言及したプロセスはWindowsバージョンで変更されましたが、「dir / s」は一貫しています。また、プロセスではWin + Fを押す必要がありますが、これは必ずしも簡単ではありません。場合によっては、キーボードにWindowsキーがある場合でも、リモートキーではなくローカルコンピューターがキーを使用する可能性があるリモートアクセスシナリオなどで、そのキーを使用するのが難しい場合があります
TOOGAM

1

このバッチファイルは便利だと思います

DragDropListFile.bat

@ECHO OFF
SET targetPath="%~1"
SET ToolPath=%~dp0

dir %targetPath% /b /s /a-d > "%ToolPath%list.txt"

使用法:フォルダーをドラッグしてファイルDragDropListFile.batにドロップするだけで、必要なものを含むlist.txtというファイルが作成されます。

ドラッグアンドドロップが気に入らない場合は、このバッチファイルを試してください

ListFile.bat

ECHO OFF

SET crtPath=%~dp0

dir "%crtPath%" /b /s /a-d > list.txt

使用法:ファイルをリストしたいフォルダーにファイルListFile.batを入れてから、ファイルListFile.batを実行すると、必要なものを含むlist.txtというファイルが作成されます。


0

dir /s /w >files.txtそこにあなたのほとんどの方法を取得します。拡張機能は保持されます。次にfiles.txt、テキストエディタで開き、

  • すべての行をソートし、不要な行を削除します
  • または、検索と置換操作でそれらを削除するか、2。
    • 正規表現^ +\d+ File.+\r\n\r\n Dir.+\r\n\r\nは、Notepad ++の個々のフォルダーファイルリスト間のギャップとフォルダーの詳細を取り除きました。
  • 次に、テキストファイルの上部と尾部をトリミングします。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.