Foreach
循环在PowerShell中也称为Foreach
语句。Foreach
是一个关键字,用于循环遍历数组或对象,字符串,数字等的集合。此循环主要用于需要一次处理一个对象的情况。
1.语法
以下块显示了Foreach
循环的语法:
Foreach($<item> in $<collection>)
{
Statement-1
Statement-2
Statement-N
}
在此语法中,<item>
是变量或对象的单个值,该值在每次迭代中都会变化。 <collection>
是要访问的数组或数字和字符串的集合。 执行此循环时,PowerShell会自动创建变量$<item>
。 语法中有一个块,其中包含一个或多个针对集合中的每个项目执行的语句。
2.ForEach循环流程图
3.例子
示例1: 下面的示例使用foreach
循环显示数组的值:
PS C:\> $Array = 1,2,3,4,5,6,7,8,9,10
PS C:\> foreach ($number in $Array)
>> {
>> echo $number
>> }
执行上面示例代码,得到以下结果:
1
2
3
4
5
6
7
8
9
10
在此示例中,将创建数组$Array
并使用整数值:1,2,3,4,5,6,7,8,9,10
进行初始化。第一次执行Foreach
语句时,它会分配数组的整数值1
到$number
变量。 然后,它使用echo
语句显示数字1
。下一次循环时,$number
设置为2
,依此类推。 在Foreach
循环显示数字10
后,PowerShell终止循环。
示例2:以下示例显示使用foreach
循环的文件夹文件:
foreach($file in get-childitem)
{
echo $file
}
执行上面示例代码,得到以下结果:
目录: C:\Users\hema
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2019/5/28 9:16 .anaconda
d----- 2018/9/12 16:14 .android
d----- 2019/9/4 18:14 .atom
d----- 2018/10/31 9:01 .cargo
d----- 2019/7/2 10:31 .conda
d----- 2018/11/6 9:50 .dotnet
d----- 2018/10/23 9:33 .eclipse
d----- 2018/10/11 14:18 .IdeaIC2018.2
d----- 2018/12/8 16:49 .IdeaIC2018.3
d----- 2019/7/2 16:16 .ipynb_checkpoints
d----- 2019/5/28 9:18 .ipython
d----- 2019/7/2 10:23 .jupyter
d----- 2019/5/29 11:23 .keras
d----- 2018/9/25 9:08 .m2
d----- 2019/7/2 9:56 .matplotlib
d----l 2018/10/31 9:01 .multirust
d----- 2019/10/5 9:27 .p2
d----- 2018/10/31 9:03 .rustup
d----- 2019/7/2 9:29 .spyder-py3
d----- 2018/10/4 9:52 .tooling
d----- 2020/1/12 10:33 .vscode
d-r--- 2019/11/23 21:12 3D Objects
d----- 2018/10/5 8:25 Aptana Rubles
d-r--- 2019/11/23 21:12 Contacts
d-r--- 2020/2/5 17:40 Desktop
d-r--- 2020/2/5 13:48 Documents
d-r--- 2020/2/3 17:36 Downloads
d----- 2018/10/4 10:35 eclipse-workspace
d----- 2018/10/5 9:39 eclipsej22-workspace
d-r--- 2019/11/23 21:12 Favorites
d----- 2018/9/12 16:14 HBuilder
d----- 2018/9/12 16:44 HBuilder settings
d----- 2018/9/12 16:14 HBuilderProjects
d-r--- 2019/11/23 21:12 Links
d-r--- 2019/11/23 21:12 Music
d-r--- 2019/11/23 21:12 Pictures
d-r--- 2019/11/23 21:12 Saved Games
d-r--- 2019/11/23 21:12 Searches
d----- 2018/8/29 22:23 source
d-r--- 2019/11/23 21:12 Videos
-a---- 2020/1/17 22:15 3314 .bash_history
-a---- 2019/7/2 10:20 43 .condarc
-a---- 2018/11/14 14:03 1166 .firefly.conf
-a---- 2020/1/9 21:29 1918 .firefly2.conf
-a---- 2019/5/24 14:12 43 .gitconfig
-a---- 2019/5/30 21:14 1939 .viminfo
-a---- 2019/7/2 10:36 846 Untitled.ipynb
-a---- 2019/7/2 16:17 23222 Untitled1.ipynb
在此示例中,foreach
语句显示get-childitem
cmdlet返回的项目(文件)列表。
示例3:下面的示例使用foreach
循环显示数组的值:
$fruits= "apple", "orange", "guava", "pomegranate", "Mango"
foreach ($item in $fruits)
{
echo $item
}
执行上面示例代码,得到以下结果:
apple
orange
guava
pomegranate
Mango