Вложенный оператор For в CMD

Вложенный оператор For в CMD

В настоящее время у меня возникли проблемы при попытке удалить некоторые файлы в скрипте 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

В дополнение к ответу Макса вы также можете использовать скобки, чтобы сделать пакетный файл более удобным для чтения. Вы также должны использовать строчные имена переменных.

@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"
    )
)

Связанный контент