【发布时间】:2020-06-14 16:06:22
【问题描述】:
我在 powershell 中有两个以下数组 $obj= ('销售','财务','config.ini') $objPath= ('D:\Project','D:\Element','D:\Project')
- 现在 $obj 可以是文件夹名或文件名
- $objPath 是相应位置 $obj 将驻留的路径
我想检查相应的 $objPath 中是否存在该文件夹或文件
我的代码:
foreach($element in $obj){
foreach($elementpath in $objPath){
Test-Path $element+'\'+$elementpath
}
}
但它每次都返回 false。谁能建议我在哪里做错了
【问题讨论】:
-
$element+'\'+$elementpath?你想做什么?单引号'防止变量扩展,所以如果你想检查$element+\$elementpath使用双引号,如"$element+\$elementpath"。 -
我不认为单引号是这里的问题。我认为示例中的代码突出显示是错误的,使得报价看起来没有关闭。实际上没有引用任何变量。尽管扩展字符串方法可行,但您仍需要反转表达式中的变量。我将更新我的答案以包含一个示例。
标签: powershell