95891


あるフォルダの「直下のフォルダリスト」と「直下フォルダ1つに含まれるサブフォルダ含むすべてのファイルリスト」を取得したいのですが、Batの構文がよくわからなくてエラーになります。

[code]

    for /d %%A in ("Z:\親フォルダ\*") do (　←これは動く
        echo %%A
        for /r %%A %%B IN (*) DO (　←%Bの使い方が不正というエラーになる。%%Aの参照方法が不明
            echo %%B
        )
    )
    
[/code]

およそ間違った構文なのはわかるのですが、%%Aを二つ目のfor文（サブフォルダ探索用）に使う方法を教えてください。


CC BY-SA 4.0
2023-08-08T08:45:11.180
95889
2023-08-08T10:29:39.380
2023-08-08T10:12:28.633
3060
51823
question
batch-file
forで取得したフォルダごとにサブフォルダ以下全ファイルを検索するfor文の書き方を教えてください


内側の`for`の処理を、ラベルを使ったサブルーチン化して外に出し、`call`で呼ぶ方法があります。  
以下のように出来るでしょう。

[code]

    for /d %%A in ("Z:\親フォルダ\*") do (
        echo %%A
        call :subfor %%A
    )
    exit /b
    
    :subfor
    for /r %1 %%B IN (*) DO (
        echo %%B
    )
    
[/code]


CC BY-SA 4.0
2023-08-08T10:29:39.380
95891
2023-08-08T10:29:39.380
26370
95889
answer