Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 如何在特定范围内创建FOR循环调用.exe?_Loops_Batch File_Cmd - Fatal编程技术网

Loops 如何在特定范围内创建FOR循环调用.exe?

Loops 如何在特定范围内创建FOR循环调用.exe?,loops,batch-file,cmd,Loops,Batch File,Cmd,我正试图编写一个批处理脚本,用exe文件处理一堆文件。 到目前为止,我定义了变量,得到了一个帧编号,但我需要循环整个序列,例如帧1-100,而不必生成100行实体,每个实体都有自己的帧编号 现在看起来是这样的,显然只是一遍又一遍地重复同一帧,但它确实在等待,然后继续下一个好的项目。我只是错过了FOR循环,我相信是的,但不确定如何实现它 设置帧=应该是1-100的范围 我知道关于/l%%G IN()的事情……但我真的看不出如何整合它 @echo off SET noice=C:\ProgramDa

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

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

设置帧=应该是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
试试这个

@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
)

所以您只想在循环中运行100次
start/WAIT/%noice%..
?嗨,Gerhard,实际上,我将100.exr帧渲染到磁盘。所有的一切都被称为。。。“go_AOVs0000.exr->go_AOVs0100.exr。到目前为止,该脚本正确地处理单个操作,完成它的工作并输出相同的名称和帧号,但添加了_去噪的加法,因此go_AOVs_0000.exr成为go_AOVs_去噪D0000.exr。请注意,我在该领域非常新手。您所写的内容很有意义,是的,我想将exe运行100次。”ng frame 0045做它自己的事情,并吐出去噪的_0045作为示例,然后继续0046等。类似于(1,1100)中/l%%i的
do set“frame=%%i“
?好的,我要尝试一个答案,请先测试一下。让我先发布答案。稍等,这将设置帧
1
100
和非
0001
0100
好的,现在来看一下,可能是因为帧是1-100而不是0001-0100@Benny请运行已编辑的脚本,它应该只回显结果,而不是实际的命令,确保它给出了想要的结果,然后我们将转到另一个问题,如果仍然存在的话。@benny Ok,太棒了。谢谢,我会使用10000的偏移量,只保留最后4位数字。那就不需要假设了。