Windows批处理文件 - 如何循环遍历目录中的文件?

12

我有一个批处理文件:

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

这将获取与convert.exe位于同一文件夹中的每个pdf文件。我想要能够指定PDF所在的位置。我需要改变什么?

谢谢!

1个回答

24

如果目录名称可以硬编码,则为:

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 标头 - 对于批处理处理,你绝对不希望它们出现。 - Sergey Kudriavtsev
1
注意:在Windows 7命令行中,使用for in()do需要包含'('和')'。 - Jackie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接