【问题标题】:Wildcards in variable path with PowershellPowershell 变量路径中的通配符
【发布时间】:2015-08-03 11:26:11
【问题描述】:

我想在我的脚本中像这样在变量中使用通配符:

$TARGET = "\\MACHINE1\c$\ProgramData\Test\12.*\Data\"

问题是 $TARGET 返回

\\MACHINE1\c$\ProgramData\Test\12.*\Data\

而不是

\\MACHINE1\c$\ProgramData\Test\12.1.1.1\Data\

然而

Test-Path "\\MACHINE1\c$\ProgramData\Test\12.*\Data\"

=> TRUE

感谢您的帮助

【问题讨论】:

  • 那么,问题是什么?
  • 问题是:如何在没有通配符的情况下在变量 $TARGET 中写入正确的路径

标签: variables powershell path wildcard asterisk


【解决方案1】:

在这种情况下,IMO 最好使用 Resolve-Path,

$TARGET = Resolve-Path "\\MACHINE1\c$\ProgramData\Test\12.*\Data\" | Select -ExpandProperty Path

【讨论】:

  • 嘿伙计,我们的名字相同:Avi = Avshalom。我很想与您取得联系
【解决方案2】:

您应该使用Get-ChildItem 来检索真实路径:

$TARGET = "\\MACHINE1\c$\ProgramData\Test\12.*\Data\"
Get-ChildItem $Target


    Directory: \\MACHINE1\c$\ProgramData\Test\12.1.1.1

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----        10-10-2014     12:48            data

【讨论】:

  • 是否可以将其保存在变量中?
  • $TARGET = Get-ChildItem -Path "\\MACHINE1\c$\ProgramData\Test\12.*\Data\"
猜你喜欢
  • 1970-01-01
  • 2013-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-14
  • 1970-01-01
  • 2023-03-06
相关资源
最近更新 更多