1

我有 50 个具有此命名约定的文件:

myObject.0001.obj
...
myObject.0050.obj

我需要对这 50 个文件执行以下 DOS 命令:

ply2vrmesh myObject.0001.obj myObject.0001.vrmesh
...
ply2vrmesh myObject.0050.obj myObject.0050.vrmesh

我用我有限的生锈的 MS-DOS 知识编写了以下 .bat:

for %%T in (*.obj) do ply2vrmesh %%T %%T.vrmesh

它有效,但它转换myObject.0001.objmyObject.0001.obj.vrmesh. 我想获得一个干净的命名,而不是像myObject.0001.vrmesh,但我不知道该怎么做。

如果你们有任何想法,那将是非常有帮助的!

4

2 回答 2

1

FOR 变量有用于提取特定信息的修饰符。~n修饰符给出不带扩展名的名称。在命令提示符下键入HELP FOR以获取完整的修饰符列表。

如果名称包含空格,您应该将文件名括在引号中。

for %%T in (*.obj) do ply2vrmesh "%%T" "%%~nT.vrmesh"
于 2012-10-24T18:47:45.227 回答
0

为什么不按照您现有的命令:

rename myObject.????.obj.vrmesh myObject.????.vrmesh
于 2012-10-24T18:19:16.043 回答