2016-05-23 90 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 

}

相关问题