ドライブのフォルダ構造は次のようになります(Windowsの場合):
Folder 1
Fd1
Fd2
Fd3
Fd4
Fd5
Folder 2
Fd1
Fd2
Fd3
Fd4
Fd5
この配置は、何百ものフォルダに対して続きます。内部Fd1各Folder xには特定の.bat
ファイルがあります。テキストファイルへのWindowsコマンドラインを使用して、パス全体を含む.bat
ファイルのリストを抽出する方法を探しています。コマンドプロンプトを使用した経験がほとんどないため、これをどのようにして実現できるかについては無知です。
出力を次のようなリストにしたい:
............
D:\Folder 1\Fd1\one.bat
D:\Folder 2\Fd2\two.bat
............
誰かが私を助けてくれますか?
私があなたが探しているものを理解したら
dir/s/b *.bat
それが機能する場合は、テキストファイルにリダイレクトします。
dir/s/b *.bat > textfile.txt
DIRコマンドのコマンドラインスイッチ のリストがあると便利な場合もあります。
/ 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の時代に最初に移植されました。