如何在Windows命令行中执行for循环?

时间:2012-06-25 15:13:15

标签: windows loops for-loop

我想知道这是否可行?我不熟悉使用Windows命令行,但我必须将它用于我正在进行的项目。我有一些文件,我需要为每个文件执行一个函数。我习惯使用python,但显然这有点不同,所以我希望得到一些帮助。

基本上我需要for循环遍历文件夹中的17个文件,对每个文件执行一个函数(使用我在这里为项目提供的特定软件)然后输出一个具有唯一名称的文件(函数)通常要求我说出输出文件的名称)我会把它搞砸,然后只为17中的每一个手动完成,但基本上它是创建一个文件的数据库,然后将它与17中的每一个进行比较。它需要虽然经过几百次迭代。使用for循环可以节省我几天的工作量。

建议?

4 个答案:

答案 0 :(得分:41)

命令行解释器确实有一个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

从命令提示符获取更多信息。

答案 1 :(得分:5)

这可以帮助您找到您要找的东西...... Batch script loop

我的回答如下:

@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

开始标签下的第一组命令循环,直到变量%var%达到100.一旦发生这种情况,它将通知您并允许您退出。此代码可以根据您的需要进行调整,方法是更改​​100到17并调整代码或使用调用命令,然后使用批处理文件的路径(Shift +右键单击文件并选择“复制为路径”)放置注释。

答案 2 :(得分:2)

对于独立于文件或目录的循环,请参见e。 G。 Batch script loop ,.顺便说一句。 MS帮助也应该有所帮助(但是谁在那里挖掘)

答案 3 :(得分:0)

您也可以考虑添加class Owner<AnimalType, ItemType> where AnimalType : Animal, AnimalType.Item == ItemType { var item: ItemType? var animal: AnimalType? }

例如"是个好主意。