当我已经定义了变量时出现意外的令牌错误
Unexpected token error when I have the variable already defined
简单的脚本,但无法弄清楚为什么会出现错误:它应该只将成功的机器写入一个文本文件,将失败的机器写入另一个文本文件。
这是我收到的错误:
表达式或语句中出现意外标记“$ip”。
+ 类别信息:ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken
$computers = Get-Content C:\temp\machines_no_rdp.txt
foreach($computer in $computers)
{
if((New-Object System.Net.NetworkInformation.Ping).Send("$computer",[int]1000).Address.IPAddressToString)
{
$computer
$ip = [System.Net.Dns]::GetHostByName($computer).AddressList.IPAddressToString
$computer + ";" $ip | Out-File C:\temp\Success.txt -Append
}
else{$computer + ";" + "Dead" | Out-File C:\temp\failure.txt -Append}
}
该错误试图告诉您它确实知道如何处理 $ip
。此时它不关心它是否是一个变量。这是一个解析错误。
$computer + ";" $ip
应该改为以下内容(与您的编码习惯保持一致。)
$computer + ";" + $ip
简单的脚本,但无法弄清楚为什么会出现错误:它应该只将成功的机器写入一个文本文件,将失败的机器写入另一个文本文件。
这是我收到的错误:
表达式或语句中出现意外标记“$ip”。 + 类别信息:ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : UnexpectedToken
$computers = Get-Content C:\temp\machines_no_rdp.txt
foreach($computer in $computers)
{
if((New-Object System.Net.NetworkInformation.Ping).Send("$computer",[int]1000).Address.IPAddressToString)
{
$computer
$ip = [System.Net.Dns]::GetHostByName($computer).AddressList.IPAddressToString
$computer + ";" $ip | Out-File C:\temp\Success.txt -Append
}
else{$computer + ";" + "Dead" | Out-File C:\temp\failure.txt -Append}
}
该错误试图告诉您它确实知道如何处理 $ip
。此时它不关心它是否是一个变量。这是一个解析错误。
$computer + ";" $ip
应该改为以下内容(与您的编码习惯保持一致。)
$computer + ";" + $ip