在Windows FOR循环中使用变量

时间:2015-08-31 11:46:38

标签: batch-file for-loop cmd window

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

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

有人能指出这个错误吗?非常感谢

1 个答案:

答案 0 :(得分:4)

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

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

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

set /p ID=Enter Search Term: