【问题标题】:For loop wildcard matching in batch script批处理脚本中的循环通配符匹配
【发布时间】:2015-02-19 13:52:22
【问题描述】:

我正在编写一个批处理脚本,它应该在 .exp 类型的目录中查找所有文件并重命名它们。除了 FOR 循环,一切都在工作,因为我似乎无法通过通配符匹配来找到正确的文件集。

如果我写:

for /F %%x in (*.exp) do (echo %%x)

结果是:

The system cannot find the file *.exp

如果我写:

for /F %%x in ("*.exp") do (
echo %%x
echo %%~nx.exp
)

结果是:

*.exp
expectedfilename1.exp

但循环只运行一次并在第一个文件处停止。

我看到的每个在线示例都使用其中一种格式,所以我不知道我做错了什么。非常感谢您的帮助!

【问题讨论】:

    标签: batch-file for-loop wildcard


    【解决方案1】:

    试试

    对于 (*.exp) 中的 %%x 执行 (echo %%x)

    或者

    For /f "tokens=*" %%x in ('dir /b *.exp') do (echo %%x)

    【讨论】:

    • 在我看到你的答案之前就想出来了,但你也是对的。就是那个鬼鬼祟祟的小 /F :) 问题解决了。
    猜你喜欢
    • 2010-09-07
    • 2013-04-03
    • 1970-01-01
    • 2018-02-18
    • 1970-01-01
    • 2017-12-06
    • 2011-02-05
    • 1970-01-01
    • 2015-12-13
    相关资源
    最近更新 更多