在变量值赋值 powershell 中执行 if 语句
execute if statement in variable value assignement powershell
有时我需要检查路径名是否以“\”结尾,如果有必要,添加它,代码很简单,就像这样
if ($destFolder[-1] -ne '\') {
$destFolder += '\';
}
有没有办法评估 ()
中的 if 语句,以便我可以在变量赋值中使用它?我的意思是这样的
$finalName = $destFolder + (if ($destFolder[-1] -ne '\') { '\' } ) + $fileName
鉴于 if
不是 cmdlet,我收到此错误
if : The term 'if' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the
path is correct and try again.
这里需要一个子表达式 ($()
):
$finalName = $destFolder + $(if ($destFolder[-1] -ne '\') { '\' }) + $fileName
表达式运算符(没有$
的()
)只允许简单的statements/expressions.
为了 if 的可读性,您可以将 if 语句的整个结果分配给一个变量:
$finalName = if ($destfolder[-1] -ne '\') {
$destfolder + '\'
} else {
$destfolder
}
有时我需要检查路径名是否以“\”结尾,如果有必要,添加它,代码很简单,就像这样
if ($destFolder[-1] -ne '\') {
$destFolder += '\';
}
有没有办法评估 ()
中的 if 语句,以便我可以在变量赋值中使用它?我的意思是这样的
$finalName = $destFolder + (if ($destFolder[-1] -ne '\') { '\' } ) + $fileName
鉴于 if
不是 cmdlet,我收到此错误
if : The term 'if' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
这里需要一个子表达式 ($()
):
$finalName = $destFolder + $(if ($destFolder[-1] -ne '\') { '\' }) + $fileName
表达式运算符(没有$
的()
)只允许简单的statements/expressions.
为了 if 的可读性,您可以将 if 语句的整个结果分配给一个变量:
$finalName = if ($destfolder[-1] -ne '\') {
$destfolder + '\'
} else {
$destfolder
}