我需要查找以01 02 03等结尾的变量,直到该变量不存在为止,然后继续执行脚本。在此循环中,重复执行01,然后继续执行02 03 04 05等。为什么重复01?
我的变量以两位数结尾,因此我在寻找变量之前将整数转换为字符串。我设法通过进入循环之前再次增加$ i来解决我遇到的问题,但是我有点困惑。
重复两次01的初始脚本
$i=1
$CopyFiles_Content_No = ($i).ToString('00')
do {
$CopyFiles_Contents += (Get-Item env:$($CopyFiles_Step)_Contents$($CopyFiles_Content_No)).Value
$CopyFiles_Content_No = ($i++).ToString('00')
} while (Test-Path env:$($CopyFiles_Step)_Contents$($CopyFiles_Content_No) -ErrorAction Ignore)
要轻松复制此文件,只需在Powershell中键入以下内容
$i=1 #Set Int
$CopyFiles_Content_No = ($i).ToString('00') #Convert to double digit string
$CopyFiles_Content_No #See output which is 01
$CopyFiles_Content_No = ($i++).ToString('00') #Increment $i and assign to variable
$CopyFiles_Content_No #See output which is still 01
$CopyFiles_Content_No = ($i++).ToString('00') #Increment $i and assign to variable
$CopyFiles_Content_No #See output which is 02
$CopyFiles_Content_No = ($i++).ToString('00') #Increment $i and assign to variable
$CopyFiles_Content_No #See output which is 03
解决方法是在进入循环之前增加$ 1
$i=1
$CopyFiles_Content_No = ($i++).ToString('00')
do {
$CopyFiles_Contents += (Get-Item env:$($CopyFiles_Step)_Contents$($CopyFiles_Content_No)).Value
$CopyFiles_Content_No = ($i++).ToString('00')
} while (Test-Path env:$($CopyFiles_Step)_Contents$($CopyFiles_Content_No) -ErrorAction Ignore)