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

相关内容