如何从文件 PowerShell 中获取 2 个变量
How to get 2 variables from a file PowerShell
我正在尝试制作一个脚本,从文件中获取数字,然后对它们进行一些数学运算,但我不知道如何从单行中获取 2 个变量。
文件必须是这样的:
3 5
我需要的是一个变量,例如 $a 为 3,其他 $b 为 5
$a=3
$b=5
问题是我找到了这个
$Contents = Get-Content ".\file.txt"
$a = $Contents[0] -split(" ")[1]
$b = $Contents[1] -split(" ")[1]
但是它不适用于第二个数字,我该怎么做?
要引用文件中的 first 行,您需要 $Contents[0]
($Contents[1]
将引用第二行)。
$a,$b = -split $Contents[0] -as [int[]]
在一元模式下使用 -split
将使 PowerShell 拆分任何连续空白字符序列,并丢弃任何空部分(这种方式在输入有前导或尾随空白时有效,例如 " 3 5 "
).
-as [int[]]
操作将强制 PowerShell 尝试将结果字符串值转换为 [int]
值,因此现在您可以对它们进行有意义的整数运算:
PS ~> $a + $b
8
我正在尝试制作一个脚本,从文件中获取数字,然后对它们进行一些数学运算,但我不知道如何从单行中获取 2 个变量。 文件必须是这样的:
3 5
我需要的是一个变量,例如 $a 为 3,其他 $b 为 5
$a=3
$b=5
问题是我找到了这个
$Contents = Get-Content ".\file.txt"
$a = $Contents[0] -split(" ")[1]
$b = $Contents[1] -split(" ")[1]
但是它不适用于第二个数字,我该怎么做?
要引用文件中的 first 行,您需要 $Contents[0]
($Contents[1]
将引用第二行)。
$a,$b = -split $Contents[0] -as [int[]]
在一元模式下使用 -split
将使 PowerShell 拆分任何连续空白字符序列,并丢弃任何空部分(这种方式在输入有前导或尾随空白时有效,例如 " 3 5 "
).
-as [int[]]
操作将强制 PowerShell 尝试将结果字符串值转换为 [int]
值,因此现在您可以对它们进行有意义的整数运算:
PS ~> $a + $b
8