循环的Powershell(来自c#)
本文关键字:来自 Powershell 循环 | 更新日期: 2023-09-27 18:23:38
我正在将我的c#程序转移到Powershell,我一直在尝试转换我的for循环。我不知道该怎么说,但我的for循环中需要多个计数器变量,我一直不知道如何做到这一点。我在网上也找不到任何引用,所以我不知道这是否是Powershell的限制。
所以,我的意思是,在c#我有:
for (int k = 1, file = 1, perFile = 0; k <= splitGroups; k++, file++, perFile += dtotalPerFile){
}
当然,变量名称/类型并不重要,所以我的问题是如何将其重建到Powershell中?是否可以使用For循环?或者我需要做一段时间才能达到同样的结果。
PowerShell的for
循环可以做到这一点,但语法可能有点尴尬。
您需要为$()
中for
循环的每个"部分"包装多个语句,因此它看起来像这样:
for ( $($k = 1 ; $file = 1 ; $perFile = 0) ; $k -le $splitGroups; $( $k++ ; $file++ ; $perFile += $dtotalPerFile) ) {
# stuff
}
for
循环确实允许换行而不是分号,子表达式也允许,所以您可以稍微清理一下:
for (
$(
$k = 1
$file = 1
$perFile = 0
)
$k -lt $splitGroups
$(
$k++
$file++
$perFile += $dtotalPerFile
)
) {
# stuff
}
不过还是有点乱。
概念的工作证明(因为我们没有您的变量):
for (
$(
$a = 0
$b = 10
)
$a -lt 10
$(
$a++
$b += 10
)
) {
"$a~$b"
}