我试着写一个脚本,工作过程如下:解析空格分隔的字段
我的输入是8行8列,充满了价值0
或1
一个文本文件,用一个空格字符,每个分隔列。
我需要检查每行中的第4号和输出false
,如果是0
,并且true
,如果是1
。
我此刻的代码如下所示:
param($fname)
$rows = (Get-Content $fname)
for ($i=0;$i -lt $rows.Length;$i++)
{
if ($rows[$i][6] -eq 1)
{
Write-Host "true"
}
if ($rows[$i][6] -ne 1)
{
Write-Host "false"
}
}
于是我就用[$i][6]
,因为我得到的是这样的4号,占作为分隔空间的数量。
我检查,并认为这是完美的,但不知何故,说false
为每线,但是当我Write-Host
$rows[0][6]
是1
。
'1' - >' '1',[0]' – PetSerAl
非常感谢你:) –
你是一个性格比较整数。尝试运行'$ rows [$ i] [6] .GetType()'来查看PS用于数据的类型。你也可以删除最后一个'if'并将其更改为'else',因为如果它不是1,那么它是错误的。 – NooGuy