我有这个代码。它加载一系列.vrscene文件
for /f %%a IN ('dir /b /s "C:\Users\Beqarion\Desktop\test_for_batch*.vrscene"') do call "C:\Program Files\Autodesk\Maya2015\vray\bin\vray.exe" -scenefile=%%a -imgFile="C:\Users\Beqarion\Desktop\test_for_batch\img.jpg" -frames=1 -autoclose=1
正如你在最后看到的,它有一个img输出和帧编号。我需要创建一个变量,它会在每次渲染.vrscene
文件时递增,并将其添加到img.jpg
中,以便在每次渲染后保存一个新的img文件:img_0001
,img_0002
等。我尝试了set /a varname+=1
,但它不起作用。此外,我想补充说,我不是一个程序员,我不在批处理代码。所以有些人认为非常基础的东西可能不适合我。
发布于 2016-10-19 23:59:05
@Echo off&SetLocal EnableDelayedExpansion
Set "Basefldr=C:\Users\Beqarion\Desktop"
Set "vray=C:\Program Files\Autodesk\Maya2015\vray\bin\vray.exe"
Pushd "%Basefldr%"||(Echo can't cd to %Basefldr% &Pause &Exit /B 1)
Set ImgNo=10000
for /f "delims=" %%a IN (
'dir /b /s "test_for_batch*.vrscene"'
) do (Set /A ImgNo+=1
"%vray%" ^
-scenefile=%%a ^
-imgFile=".\test_for_batch\img_!ImgNo:~-4!.jpg" ^
-frames=1 ^
-autoclose=1
)
PopD
初始ImgNo=10000
是获取前导零所必需的,当使用!ImgNo:~-4!
剥离后四位时,需要结合使用EnableDelayedExpansion和!
,而不是通常的%
,以获取由括号包围的区域中的实际值。
https://stackoverflow.com/questions/40131461
复制相似问题