问题介绍
我正在尝试搜索以下值:字符串'02-08-1997'
中的'01-08-1997'
和$b1
。为了找到该值,我使用了搜索值周围的开始和结束索引的方法。
我是怎么做的?
为此,我使用了4个For循环,只是一次又一次地执行完全相同的操作。我知道这可以简单得多。到目前为止,我还没有找到一种方法。我必须编写多个这样的脚本,因此我确实需要找到一种更简单(更易于阅读)的方式。
这些是我正在使用的For循环中的2个:
$b1 = 'set-aduser -identity 3423-234-23-42-432 dorstm -replace @{ geboortedatum = 01-08-1997 } waarde_org = 02-08-1997'
For ($i = 0; $i -lt $b1InArray.Length; $i++) {
if ($b1InArray[$i].contains("=")) {
$e = $i
break
}
}
For ($j = ($e + 1); $j -lt $b1InArray.Length; $j++) {
if ($b1InArray[$j].contains("}")) {
$f = $j
break
}
}
最佳答案
看起来您正在尝试使用更多的Java解决方案。在Powershell中,您可以使用“ForEach”
$b1 = 'set-aduser -identity 3423-234-23-42-432 dorstm -replace @{ geboortedatum = 01-08-1997 } waarde_org = 02-08-1997'
foreach ($b in $b1) {
if ( $b -contains '=') {
$f = $j
}
}
注意:foreach循环条件中的$ b可以是您想要的任何东西,就像Java中的$ i一样。
关于powershell - 一次处理4个循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53884827/