2016-05-23 92 views

回答

3

您可以在一個陣列存儲它們用循環

$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] 
2

您可以在左側使用多個變量,以及:

$string = "A;B;C" 
$D1,$D2,$D3 = $string.split(";") 
+2

阿根廷,像5秒快速:) –

4

當你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 
+0

我如何將$ dbname數組傳遞給backup-sqldatabase cmdlet?我嘗試了下面的東西,它會拋出錯誤 – Kelsey

+0

錯誤:數組索引表達式丟失或無效。 – Kelsey

+0

代碼:$ DBNAME = $ DBList.split( 「;」) $ I = 0 FOREACH(在$ $ DBNAME項目) {\t $ DBNAME [I] = $項 \t備份 - Sqldatabase -ServerInstance $服務器-Database $ dbname [i] -BackupFile $ fullbackupfile \t i ++ } – Kelsey

0

在你,你只有真正從字符串分割操作第一輸出(如標題暗示)有興趣的情況下,可以通過指定它丟棄剩餘輸出$null

$first,$null = 'A;B;C' -split ';' 

由於剩下的值被丟棄反正,你可以要求-split操作來只分裂一次:

$first,$null = 'A;B;C' -split ';',2 
0

我用下面的腳本和它的工作。 $ DBNAME = $ DBList.split( 「;」)

的foreach($在$ DBNAME項目) {

Backup-Sqldatabase -ServerInstance $server -Database $item -BackupFile $backupfile 

}

相關問題