PowerShell 的 for 循环适合已知次数的重复操作,由初始化、条件判断和迭代三部分组成,按“初始化→判条件→执行体→迭代→再判条件”顺序运行;支持变量作用域控制、PowerShell 专用比较运算符(如 -le)、多语句及嵌套,适用于确定次数的任务,区别于 foreach(遍历集合)和 while(动态条件)。
powershell 中的 for 循环 适合执行已知次数的重复操作,语法结构清晰,由初始化、条件判断和迭代三部分组成,运行前就确定循环总次数。
基本语法与执行逻辑
PowerShell 的 for 循环采用类 C 风格格式:
每轮执行顺序是:先执行初始化(仅一次)→ 检查条件是否为真 → 若为真,执行循环体 → 执行迭代操作 → 再次检查条件……直到条件为假时退出。
例如,输出 1 到 5 的序号:
Write-Output "第 $i 次"
}
常见使用要点
-
变量作用域明确:循环变量(如
$i)在 for 语句内定义,通常只在该循环中有效;若需外部访问,可提前声明或使用全局作用域修饰符 -
条件运算符注意:PowerShell 使用
-le(小于等于)、-lt(小于)等比较运算符,不能用<=或< -
迭代操作位置关键:
$i++写在第三部分,确保每次循环结束时更新;若误写进循环体内且无控制,可能造成死循环 - 支持多语句和嵌套:循环体中可写多行命令,也可嵌套另一个 for 或 foreach,适合处理二维数据或分阶段任务
实用示例:创建编号文件夹
以下脚本创建 5 个带序号的文件夹(如 Folder_1、Folder_2……):
for ($n = 1; $n -le 5; $n++) {$folderName = "Folder_$n"
New-Item -ItemType Directory -Name $folderName -Force | Out-Null
Write-Host "已创建:$folderName"
}
说明:New-Item -Force 确保不报错重复创建;Out-Null 抑制冗余输出,保持界面干净。
对比其他循环:何时选 for 而非 foreach 或 while
- 用 for:明确知道要跑多少次(比如“重试最多 3 次”、“生成 10 个测试用户”)
- 用 foreach:已有具体集合(数组、列表),只需逐个处理每个元素
- 用 while:依赖动态条件(如“直到某文件出现”或“直到服务响应成功”),次数不确定


















