PowerShell试图转换为整数而不是字符串

问题描述 投票:0回答:1

我的问题是,PowerShell在尝试使用“ =”转换为整数时希望将其转换为整数。我确保我得到的变量也将是一个字符串。这是我的任务:

我有一个小的Excel表格,如下所示:

___________ | VLANID1 | VLANID2 | VLANID3 |SwitchName1 | 1-7 | 12-16 | 8-11 | ←将Switch1的端口1-7配置为VLAN1 ...SwitchName2 | 1-7 | 12-16 | 8-11 |

在此表之外,我还希望将每个端口保存在具有配置的VLAN的.ini文件中,也就是:

[SwitchName1]
1=VLANID1
2=VLANID3
...

这是我的代码,我循环执行直到没有端口,然后没有更多开关。

$split = $global:Ports -split("-") #$Ports is the Value with the saved excel cell (7-11)
$split[0]..$split[1] | ForEach-Object {
    $vlan = $global:Switches.Cells.Item(1, $global:SSpallte).Text
    [string]$inistring = "`n" + $_ + "=" + $vlan #<- Here it tries to convert "=" into integer
    Add-Content -Path $global:portsini -Value $inistring
}

我什至以前尝试将用于制作$inistring的每个变量都转换为字符串,但仍然无法使用。另外,$_$vlan都具有值,而不是$null

错误表明“ =”无法转换为类型“ System.Int32”。

excel powershell ini
1个回答
0
投票

所以,我不太确定问题是什么,但是我解决问题的方法是重新启动环境。我在PowerShell ISE中编程,有时我看到过“缓存”变量。 ISE的重新启动使程序可以再次工作。不,我没有事先更改任何内容。最后我很高兴我的问题不再存在,但是我仍然想知道为什么错误是由“ =”触发的。

© www.soinside.com 2019 - 2024. All rights reserved.