【问题标题】:Windows batch file - how to loop through files in a directory?Windows批处理文件-如何遍历目录中的文件?
【发布时间】:2012-02-08 19:38:05
【问题描述】:

我有这批:

for /f %%a IN ('dir /b *.pdf') do call convert.exe %%a

这将获取与 convert.exe 位于同一文件夹中的每个 pdf 文件。我希望能够说出 PDF 所在的位置。我必须改变什么?

谢谢!

【问题讨论】:

    标签: for-loop batch-file


    【解决方案1】:

    如果目录名可以硬编码,那么就是

    for /f %%a IN ('dir /b /s "Disk:\Your\Directory\Name\*.pdf"') do call convert.exe %%a
    

    请注意,这还将返回 Disk:\Your\Directory\Name 子目录中的所有 .pdf 文件。

    【讨论】:

    • 我认为 /b 是错误的,我需要完整路径……现在,我只得到文件名,而不是完整路径。因此 convert.exe 的参数只是一个文件,没有路径。
    • @EOB:如果需要获取完整路径,则需要添加 /s,但保留 /b。相应地修改了我的答案。 /b 在输出中抑制 dir 标头 - 您绝对不希望它们用于批处理。
    • 注意:对于 in () 确实需要 Windows 7 命令行中的 '(' 和 ')'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 1970-01-01
    相关资源
    最近更新 更多