web-dev-qa-db-ja.com

Windowsコマンドラインを使用してパス付きのファイルを一覧表示する

ドライブのフォルダ構造は次のようになります(Windowsの場合):

Folder 1
 Fd1
 Fd2
 Fd3
 Fd4
 Fd5
Folder 2
 Fd1
 Fd2
 Fd3
 Fd4
 Fd5

この配置は、何百ものフォルダに対して続きます。内部Fd1Folder xには特定の.batファイルがあります。テキストファイルへのWindowsコマンドラインを使用して、パス全体を含む.batファイルのリストを抽出する方法を探しています。コマンドプロンプトを使用した経験がほとんどないため、これをどのようにして実現できるかについては無知です。

出力を次のようなリストにしたい:

............
D:\Folder 1\Fd1\one.bat
D:\Folder 2\Fd2\two.bat
............

誰かが私を助けてくれますか?

11
Chethan S.

私があなたが探しているものを理解したら

dir/s/b *.bat

それが機能する場合は、テキストファイルにリダイレクトします。

dir/s/b *.bat > textfile.txt

DIRコマンドのコマンドラインスイッチ のリストがあると便利な場合もあります。

31
Dennis

/ Rスイッチを指定してFORコマンドを使用することをお勧めします。

たとえば、現在のディレクトリ内およびその下のすべてのファイルを検索するには、次のコマンドを使用します。

for /r %i in (*) do @echo %i

任意のディレクトリから検索を開始するには、次の形式のコマンドを使用します。

for /r "C:\TMP" %i in (*) do @echo %i

そして最後に、c:\ binディレクトリの下のすべてのバッチファイルを探すには、次のようにします。

for /r "c:\bin" %i in (*.bat) do @echo %i

ただし、このコマンドをバッチファイルで使用する場合は、%記号を2倍にする必要があるので、これらの例は次のようになります。

for /r %%i in (*) do @echo %%i
for /r "C:\TMP" %%i in (*) do @echo %%i
for /r "c:\bin" %%i in (*.bat) do @echo %%i

ここで変数としてiを使用することは完全に任意であり、FORTRANの時代に最初に移植されました。

4
Garry Offord