PS意外令牌

时间:2015-02-01 22:44:06

标签: powershell

我正在尝试运行以下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}

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

  

表达式或语句中出现意外的标记'/ yes'。在行:2 char:44

     

不允许使用空管道元素。在线:2字符:53

     

表达式或语句中出现意外的标记'/ no'。在行:3 char:13

     

不允许使用空管道元素。在行:3 char:21

我预计这是一件我看不到的简单事。我是PowerShell的新手。

2 个答案:

答案 0 :(得分:2)

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

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

$server + "/yes`n"

或变量插值:

"$server/yes`n" 

答案 1 :(得分:0)

$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
}