Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.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
Batch file 批处理文件:在命令行中使用循环_Batch File_Command Line - Fatal编程技术网

Batch file 批处理文件:在命令行中使用循环

Batch file 批处理文件:在命令行中使用循环,batch-file,command-line,Batch File,Command Line,我有一个可以读取许多参数的程序exe表单,我可以按以下命令运行它: myprogram param1 param2 param3 etc 现在,我想编写一个批处理文件命令来调用上述命令: myprogram %1 %2 %3 %4 但是你知道,参数的数量是无限的。所以我想在这种情况下使用for循环。我试过了 myprogram for %%x in (%*) echo %%x 但这对我没有帮助。sum.bat: @echo off set $total=0 for %%x in (%*)

我有一个可以读取许多参数的程序exe表单,我可以按以下命令运行它:

myprogram param1 param2 param3 etc
现在,我想编写一个批处理文件命令来调用上述命令:

myprogram %1 %2 %3 %4
但是你知道,参数的数量是无限的。所以我想在这种情况下使用for循环。我试过了

myprogram for %%x in (%*) echo %%x
但这对我没有帮助。

sum.bat:

@echo off
set $total=0
for %%x in (%*) do set /a $total+=%%x
echo %$total%
然后打电话:

sum.bat 3 4 5 6 
myprogramWrapper.cmd

@echo off
    myprogram.exe a b c %*
在哪里


不,我不想计算这种情况下的总和。举个例子,为了使用我的程序sum.exe,我可以在命令sum%1%2%3%4中包含所有参数。。。。但这很糟糕,因为我不得不写很多次。我只想使用for循环。@user3733276-您的问题和评论不清楚。请编辑您的question@user3733276用法:sum%*我不确定我是否理解它,%1在批处理文件中有意义,而不是在命令行中,但是,如果是批处理文件,您是否尝试过sum%*?不清楚您试图做什么,也不清楚失败的原因。编辑您的问题,以更好地解释您想要的内容,并显示更多代码和描述它是如何失败的。谢谢!太爱你了,盖伊^ ^如果我想从x到y取参数,我怎么能只通过索引,例如从3到5?@user3733276你有明显的myprogram.exe%3%4%5,或者你可以使用/f tokens=3-5%%a in%*do myprogram.exe%%a%%b%%c,或者可以编写一个循环来连接参数,或者。。。这取决于问题、参数的类型、参数的数量等等。它太复杂了:我只想举一个例子,从c到最后一个参数。当然,参数的数量是无限的!
    myprogram.exe a b c %*
                  ^.^.^......... aditional parameters if needed
                        ^^...... all the parameters passed to batch file