在变量赋值powershell中执行if语句
Posted
技术标签:
【中文标题】在变量赋值powershell中执行if语句【英文标题】:execute if statement in variable value assignement powershell 【发布时间】:2015-07-11 03:28:52 【问题描述】:有时我需要检查路径名是否以“\”结尾,必要时添加,代码很简单,类似这样
if ($destFolder[-1] -ne '\')
$destFolder += '\';
有没有办法评估 ()
中的 if 语句,以便我可以在变量赋值中使用它?我的意思是这样的
$finalName = $destFolder + (if ($destFolder[-1] -ne '\') '\' ) + $fileName
鉴于 if
不是 cmdlet 我收到此错误
if :术语“if”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证 路径正确,然后重试。
【问题讨论】:
【参考方案1】:这里需要一个子表达式 ($()
):
$finalName = $destFolder + $(if ($destFolder[-1] -ne '\') '\' ) + $fileName
表达式运算符(()
没有 $
)只允许简单的语句/表达式。
【讨论】:
【参考方案2】:为了便于阅读,您可以将 if 语句的整个结果分配给一个变量:
$finalName = if ($destfolder[-1] -ne '\')
$destfolder + '\'
else
$destfolder
【讨论】:
以上是关于在变量赋值powershell中执行if语句的主要内容,如果未能解决你的问题,请参考以下文章