如何在命令行中创建循环?

时间:2017-10-25 22:50:42

标签: windows batch-file for-loop

我试过这个命令

for /r %v in (*.abc) do abcconvert -toOgawa %v %v

我的结果是:

E:\PROGRAMMES\HOUDINI\bin>abcconvert -toOgawa E:\PROGRAMMES\HOUDINI\bin\Mesh01_00009.abc E:\PROGRAMMES\HOUDINI\bin\ParticleMesh01_00009.abc
Error: inFile and outFile must not be the same!

我刚刚写了一个循环,但它对我的所有循环都有相同的答案。

我认为我的循环很好,但我不知道如何更改我的outfile的名称..我想完全相同的路径,但只是newfile0001然后newfile0002等等...例如

我尝试这样做是因为我有很多要转换的文件,而执行此操作的原始命令是:

abcconvert -toOgawa file.abc newfile.abc

1 个答案:

答案 0 :(得分:0)

好消息:你的循环效果很好。
问题是%v %v,它与输入和输出的文件名完全相同 你必须以某种方式改变它。见for /f附近有“修饰符”。

有许多方法可以更改输出文件名,其中许多方法都可以使用这些修饰符完成。

最简单的方法:只需更改扩展名:

for /r %v in (*.abc) do abcconvert -toOgawa %v %~dpnv.new
  

ParticleMesh01_000000.new

但您也可以在文件名中添加字符串(在扩展名之前):

for /r %v in (*.abc) do abcconvert -toOgawa %v %~dpnv-new%~xv
  

ParticleMesh01_000000-new.abc