[英]How to do a for loop in windows command line?
我想知道这是否可能? 我不熟悉使用Windows命令行,但我必须将它用于我正在进行的项目。 我有一些文件,我需要为每个文件执行一个函数。 我习惯使用python,但显然这有点不同,所以我希望得到一些帮助。
基本上我需要for循环遍历文件夹中的17个文件,在每个文件上执行一个函数(使用我在这里为项目使用的特定软件),然后输出一个具有唯一名称的文件(该函数通常需要我说出输出文件的名称)我会把它搞砸,然后手工为17中的每一个做,但基本上它是创建一个文件的数据库,然后将它与17中的每一个进行比较。它需要迭代通过几百次。 使用for循环可以节省我几天的工作量。
建议?
命令行解释器确实有一个FOR结构,您可以从命令提示符或批处理文件中使用它。
为了您的目的,您可能需要以下内容:
FOR %i IN (*.ext) DO my-function %i
这将导致当前目录中扩展名为* .ext的每个文件的名称传递给my-function(例如,可能是另一个.bat文件)。
(*.ext)
部分是“filespec”,并且对指定文件集的方式非常灵活。 例如,您可以这样做:
FOR %i IN (C:\Some\Other\Dir\*.ext) DO my-function %i
在不同目录中执行操作。
一般来说,filespec和FOR有很多选项。 看到
HELP FOR
从命令提示符获取更多信息。
这可以帮助您找到您正在寻找的东西... 批处理脚本循环
我的答案如下:
@echo off
:start
set /a var+=1
if %var% EQU 100 goto end
:: Code you want to run goes here
goto start
:end
echo var has reached %var%.
pause
exit
start标签下的第一组命令循环,直到变量%var%达到100.一旦发生这种情况,它将通知您并允许您退出。 此代码可以根据您的需要进行调整,方法是更改100到17并调整代码或使用调用命令,然后使用批处理文件的路径(Shift +右键单击文件并选择“复制为路径”)放置注释。
您也可以考虑添加"
。
例如for %i in (*.wav) do opusenc "%~ni.wav" "%~ni.opus"
是非常好的主意。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.