我们如何在特定范围内创建一个调用.exe的FOR循环?

时间:2018-04-12 09:07:10

标签: loops batch-file cmd

我正在尝试编写一个批处理脚本,该脚本使用exe文件处理一堆文件。 我到目前为止定义变量,我得到了一个帧号,但是我需要将整个序列循环到例如帧1-100,而不必为每个自己的帧号生成100行entires。

现在看起来像这样,显然只是一遍又一遍地重复同一帧,但它确实等待,继续下一个好的项目。我只是错过了FOR循环,我相信它是,但不确定如何实现它。

SET frame =应该是1-100的范围

我知道/ l %% G IN()有些东西......但我真的不知道如何整合它。

@echo off
SET noice=C:\ProgramData\Autodesk\ApplicationPlugins\MAXtoA\noice.exe
SET Path=C:\go\
SET Name=go
SET frame=0003
start /WAIT %noice% -i %Path%%Name%_AOVs%frame%.exr -o 
%Path%%Name%_Denoised%frame%.exr

1 个答案:

答案 0 :(得分:1)

试试这个。

@echo off
setlocal enabledelayedexpansion
SET "noice=C:\ProgramData\Autodesk\ApplicationPlugins\MAXtoA\noice.exe"
SET "MPath=C:\go\"
SET "MName=go"
for /l %%i in (1,1,100) do (
set "frame=%%i"

if !frame! GEQ 100 set "lframe=0!frame!"
if !frame! LEQ 99 set "lframe=00!frame!"
if !frame! LEQ 9 set "lframe=000!frame!"

echo start "" /WAIT %noice% -i %MPath%%MName%_AOVs!lframe!.exr -o %MPath%%MName%_Denoised!lframe!.exr
)