1

2013 年过得愉快。我在我的第一个 PS 脚本上手忙脚乱,我陷入了一个非常常见的错误,即“Unexpected Token”错误。我已经搜索了互联网,但找不到答案,所以请帮助我。

    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

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

4

1 回答 1

4

可能是您缺少第 5 行的结束引号:

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

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

于 2013-01-03T00:04:06.767 回答