CMD 内のネストされた For ステートメント

CMD 内のネストされた For ステートメント

現在、cmdスクリプトでいくつかのファイルを削除しようとして問題が発生しています

以下のものがあります:

for /d %%A in (C:\Users\*) do for /d %%B in (%%A\test\*) do echo %%B

出力ファイルをリストするのではなく削除する必要があります

私が試してみました:

for /d %%A in (C:\Users\*) do for /d %%B in (%%A\test\*) do del %%B

しかしそれはうまくいかなかった

答え1

引用符を追加します%%B。例: for /d %%Ain ( C:\Users*) do for /d %%Bin %%A\test*dodel "%%B"

答え2

Max の回答に加えて、括弧を使用してバッチ ファイルを読みやすくすることもできます。また、小文字の変数名を使用する必要があります。

@echo off
setlocal EnableDelayedExpansion  

for /d %%a in (C:\Users\*) do (
    rem echo "directory: %%a"
    for /f %%b in ("%%a\test\*") do (
        echo "%%b"
        del "%%b"
    )
)

関連情報