如何在批处理文件中对大量文件运行特定程序?
How can I run a specific program on a large number of files in a batch file?
有一个名为 gmadconv.exe 的程序有一个参数,即您要转换的文件的名称,不带引号。我试图使用 FORFILES 循环将每个文件的名称传递给 gmadconv.exe,但它会自动插入引号,从而阻止 gmadconv 实际工作。如何剪掉引号并将结果传递给 gmadconv?另外,我对 shell 脚本编写完全陌生,我唯一的编程经验是 Java.
我用来提取 GMA 文件的代码是:
FORFILES /c "gmadconv.exe @file" /m *.gma
此外,我确实可以访问程序使用的 .c 文件。
如果你绝对要避免引号,你可以这样做:
FOR /F "usebackq tokens=* delims=" %A IN (`DIR *.gma /B`) DO gmadconv.exe %A
请注意,这是命令提示符下的一行代码。不需要批处理文件。
如果您需要运行批处理文件中的命令,它将是:
FOR /F "usebackq tokens=* delims=" %%A IN (`DIR *.gma /B`) DO gmadconv.exe %%A
有一个名为 gmadconv.exe 的程序有一个参数,即您要转换的文件的名称,不带引号。我试图使用 FORFILES 循环将每个文件的名称传递给 gmadconv.exe,但它会自动插入引号,从而阻止 gmadconv 实际工作。如何剪掉引号并将结果传递给 gmadconv?另外,我对 shell 脚本编写完全陌生,我唯一的编程经验是 Java.
我用来提取 GMA 文件的代码是:
FORFILES /c "gmadconv.exe @file" /m *.gma
此外,我确实可以访问程序使用的 .c 文件。
如果你绝对要避免引号,你可以这样做:
FOR /F "usebackq tokens=* delims=" %A IN (`DIR *.gma /B`) DO gmadconv.exe %A
请注意,这是命令提示符下的一行代码。不需要批处理文件。
如果您需要运行批处理文件中的命令,它将是:
FOR /F "usebackq tokens=* delims=" %%A IN (`DIR *.gma /B`) DO gmadconv.exe %%A