我有一个像这样转换的文件列表
C:\Users\jtl999\foo_001.jpg
C:\Users\jtl999\foo_002.jpg
要手动转换它们,我会像这样调用转换器
convert_files.bat C:\Users\jtl999\foo_001.jpg
基本上我想要做的是一次读取一个文件列表并将该文件作为参数传递。在Linux上我可以使用find和xargs,但我在Windows 7上。
答案 0 :(得分:0)
for /f %i in ('dir /b /s "C:\Users\jtl999\foo_*.jpg"') do call convert_files.bat "%i"
在批处理文件中使用%%i
代替%i
。
您需要参数/s
才能获得完整路径。虽然这意味着,您还将获得适合您的过滤器的子目录中的任何文件(如果有的话)。
答案 1 :(得分:0)
for %f in ("c:\users\jtl999\foo_*.jpg") do call convert_files.bat "%~ff"
对于指定集合中的每个文件,调用批处理文件,将参数作为参数传递给文件
语法适用于命令行。要在批处理文件中使用它:更改命令的参数,以使百分号加倍。 %f
应为%%f
,%~f
应为%%~f