在以下示例中:如何將每個值分配給單個變量$ var一次一個?分割字符串並將第一個值分配給PowerShell中的變量
$string ="A;B;C"
$Data=$string.split (";")
$Data
A
B
C
在以下示例中:如何將每個值分配給單個變量$ var一次一個?分割字符串並將第一個值分配給PowerShell中的變量
$string ="A;B;C"
$Data=$string.split (";")
$Data
A
B
C
您可以在一個陣列存儲它們用循環
$string ="A;B;C"
$Data=$string.split (";")
$var = @{}
$i = 0
foreach($item in $Data){
$var[$i] = $item
$i++
}
$var[0]
$var[1]
$var[2]
編輯:我是啞巴,$data
已經是字符串分割後的數組,可以叫出$data[0]
,這將是你的第一個變量,或:
$string ="A;B;C"
$Data=$string.split (";")
$var = $Data[0]
您可以在左側使用多個變量,以及:
$string = "A;B;C"
$D1,$D2,$D3 = $string.split(";")
當你split
串您可以分配多個變量:如果你想要一個數組
$string ="A;B;C"
$a, $b, $c = $string -split ';'
# $a = A
# $b = B
# $c = B
,你已經這樣做是正確的:
$string ="A;B;C"
$Data = $string -split ';'
# $Data[0] = A
# $Data[1] = B
# $Data[2] = B
你可以通過調用$Data.GetType()
看到, $Data
已經是String[]
:
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String[] System.Array
我如何將$ dbname數組傳遞給backup-sqldatabase cmdlet?我嘗試了下面的東西,它會拋出錯誤 – Kelsey
錯誤:數組索引表達式丟失或無效。 – Kelsey
代碼:$ DBNAME = $ DBList.split( 「;」) $ I = 0 FOREACH(在$ $ DBNAME項目) {\t $ DBNAME [I] = $項 \t備份 - Sqldatabase -ServerInstance $服務器-Database $ dbname [i] -BackupFile $ fullbackupfile \t i ++ } – Kelsey
在你,你只有真正從字符串分割操作第一輸出(如標題暗示)有興趣的情況下,可以通過指定它丟棄剩餘輸出$null
:
$first,$null = 'A;B;C' -split ';'
由於剩下的值被丟棄反正,你可以要求-split
操作來只分裂一次:
$first,$null = 'A;B;C' -split ';',2
我用下面的腳本和它的工作。 $ DBNAME = $ DBList.split( 「;」)
的foreach($在$ DBNAME項目) {
Backup-Sqldatabase -ServerInstance $server -Database $item -BackupFile $backupfile
}
阿根廷,像5秒快速:) –