使用Powershell的可变路径中的通配符

时间:2015-08-03 11:26:12

标签: variables powershell path wildcard asterisk

我想在我的脚本中使用变量中的通配符,如下所示:

$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

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

您应该使用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

答案 1 :(得分:3)

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

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