在 Windows FOR 循环中使用变量

Using variable in Windows FOR Loop

我想要实现的是获取用户输入,这将是一个包含数字和字母的术语,然后使用它来匹配文件夹中的目录并删除匹配的目录,这是我到目前为止所拥有的,但是它不起作用,

@echo off
set /p:ID=Enter Search Term:
for /d %%G in ("*(%ID%)") do rd /s /q "%%~G"
pause

如果我打开 echo,我得到的输出显示,%ID% 没有被提示输入的变量值替换。以下是输出

for / %G in ("*()") do rd /s /q "%~G"

有人能指出其中的错误吗?非常感谢

set /p:ID=Enter Search Term:
      ^ This colon is included in the name of the variable

因此,您以一个名为 :ID 的变量结尾。您可以执行set : 来查看定义的变量。

要解决问题,只需删除冒号。

set /p ID=Enter Search Term: