Powershell 变量路径中的通配符

Wildcards in variable path with Powershell

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

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

问题是 $TARGET returns

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

而不是

\MACHINE1\c$\ProgramData\Test.1.1.1\Data\

但是

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

=> TRUE

感谢您的帮助

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

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


    Directory: \MACHINE1\c$\ProgramData\Test.1.1.1

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

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

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