2016-10-19 4 views
0

이 코드가 있습니다. .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 파일을 저장하도록 img.jpg에 추가해야합니다. img_0001, img_0002 등등. set /a varname+=1을 시도했지만 작동하지 않습니다. 또한 필자가 프로그래머가 아니며 일괄 처리하지 않는다고 덧붙이고 싶습니다. 그래서 여기 몇몇 사람들이 아주 기초적이라고 생각하는 것들이 나를위한 것이 아닐 수도 있습니다.

+0

쉬운 경우 스스로 해결할 수 있습니다. 질문에 더 자세히 설명해주십시오. 예제를 제공하십시오. – Squashman

+0

'set/a "varname = varname + 1" –

+0

더 나은 :'set/a varname + = 1' –

답변

2
@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는 앞에 0을 얻을 필요가 !ImgNo:~-4! 보통 %! 대신 와 함께 EnableDelayedExpansion의 사용과 장소의 마지막을 제거 할 때 지역에 실제 값을 얻기 위해 필요합니다 은 괄호로 묶습니다.

+0

놀랍게도 좋은 답변에 대한 낮은 - 담당자':)' – Stephan

+0

StackExchange/stackoverflow가 새로운 배치를 의미하지는 않습니다 ;-) – LotPings

+0

Obvioulsy ... 여기 머물러 있기를 바랍니다. 당신은 기여할 ​​것이 많습니다. "club"에 오신 것을 환영합니다.) : – Stephan