Powershell意外令牌

时间:2013-01-02 23:42:42

标签: powershell

有一个伟大的2013年。我正在弄脏我的第一个PS脚本,我被困在一个非常常见的错误,“意外令牌”错误。我在互联网上搜索过,但找不到答案,所以请帮帮我。

    If ($_.Voorvoegsel.Trim() -ieq "") {
        $dn = $_.Voornaam.Trim() + " " 
        $dn += $_.Achternaam.Trim()
        $email = $_.Voornaam.substring(0,1).ToLower() + "."
        $email+= $_.Achternaam.Trim().ToLower() + "@test.nl
    } Else {
        $dn = $_.Voornaam.Trim() + " "
        $dn += $_.Voorvoegsel.Trim() + " "
        $dn += $_.Achternaam.Trim() 
        $email = $_.Voornaam.substring(0,1).ToLower() + "."
        $email += $_.Voorvoegsel.Replace(" ","").ToLower()
        $email += $_.Achternaam.Trim().ToLower() + "@test.nl
    }

奇怪的是,它在else语句中的$ _.Voorvoegsel变量上出错:

Unexpected token '
            $dn += $_.Voorvoegsel.Trim()
            $dn += ' in expression or statement.
At C:\Users\Public\Documents\PSImportTest.ps1:42 char:12
+             $dn = $_ <<<< .Voornaam.Trim() + " "
    + CategoryInfo          : ParserError: (
            $dn += $_....m()
            $dn += :String) [], ParseException
    + FullyQualifiedErrorId : UnexpectedToken

有谁看到我的盲点在这里?

1 个答案:

答案 0 :(得分:4)

可能是您在第5行缺少最终报价:

$email += $_.Acternaam.Trim().ToLower() + "@test.nl"

看起来你也可能在第12行丢失了一个.Powershell可能认为代码的其余部分,直到下一个引号字符,是你的字符串文字的一部分。