如何在powershell中将txt转换为int

时间:2017-09-22 14:29:43

标签: windows powershell

我有一个txt文件:

  

1230;   012;   45;   125

我希望在int中转换它 但是不起作用......他最后回复了最后一个号码 这是我的代码:

$numbertxt = get-content -Path C:\mysticpath\number.txt -Raw 
$numbertxt.GetType()
write-host $numbertxt
foreach ($flags in $numbertxt)
{
    $integer = [int]$flags
}
echo $integer
有人可以帮帮我吗?

抱歉我的英文

2 个答案:

答案 0 :(得分:1)

$numbertxt = (get-content -Path C:\mysticpath\number.txt -Raw) -split ';'
$numbertxt.GetType()
write-host $numbertxt
foreach ($flags in $numbertxt)
{
    $integer = [int]$flags
    echo $integer
}

首先,整数只能由数字组成,因此您需要将内容拆分为“;”。这将生成一个数字字符串数组。

同样将回显放在for循环的内部将允许它将每个数字显示为已处理的

答案 1 :(得分:0)

尝试这种方法(控制它是否可以在打印前转换为整数)

$res=0;

#verbose version
(Get-Content "c:\temp\test.txt") -split ';' | where {[int]::TryParse($_, [ref] $res)} | foreach {$res}

#short version
(gc "c:\temp\test.txt") -split ';' | ?{[int]::TryParse($_, [ref] $res)} | %{$res}