在变量值assignement powershell中执行if语句

Nai*_*gel 1 powershell if-statement variable-assignment

有时我需要检查一个路径名是否以"\"结尾,如果有必要添加它,代码很简单,就像这样

if ($destFolder[-1] -ne '\') {
    $destFolder += '\';
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在内部评估if语句,()以便我可以在变量分配中使用它?我的意思是这样的

$finalName = $destFolder + (if ($destFolder[-1] -ne '\') { '\' } ) + $fileName
Run Code Online (Sandbox Code Playgroud)

鉴于这if不是一个cmdlet我得到这个错误

if:术语"if"未被识别为cmdlet,函数,脚本文件或可操作程序的名称.检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试.

Ans*_*ers 5

你需要一个子表达式($()):

$finalName = $destFolder + $(if ($destFolder[-1] -ne '\') { '\' }) + $fileName
Run Code Online (Sandbox Code Playgroud)

表达式运算符(()不带$)仅允许简单的语句/表达式.