PS 意外的令牌

PS Unexpected Token

我正在尝试 运行 以下 PowerShell 脚本:

$server=MACHINE_NAME

if (Test-Path \$server\c$\test.txt) {$server"/yes`n" | out-file c:\log.txt -append}
else {$server"/no`n" |out-file c:\log.txt -append}

当我尝试 运行 它时,我得到:

Unexpected token '/yes ' in expression or statement. At line:2 char:44

An empty pipe element is not allowed. At line:2 char:53

Unexpected token '/no ' in expression or statement. At line:3 char:13

An empty pipe element is not allowed. At line:3 char:21

我预计这很简单,但我没有看到。我对 PowerShell 很陌生。

您不能让变量与字符串文字相邻;那是无效的语法。

如果要合并两个字符串,请使用 + 运算符:

$server + "/yes`n"

或变量插值:

"$server/yes`n" 
$server=MACHINE_NAME
if(Test-Path ("\{0}\c$\test.txt" -f $server)) 
{
    ("{0}/yes`n" -f $server) | out-file "c:\log.txt" -append
}
else
{
    ("{0}/no`n" -f $server) | out-file "c:\log.txt" -append
}