在以下示例中:如何将每个值分配给单个变量$ 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秒快速:) –