2015-08-03 108 views
3
變量路徑

我想在我的腳本中使用通配符變量是這樣的:通配符在使用PowerShell

$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 

感謝您的幫助

+1

那麼,是什麼是問題嗎? – PetSerAl

+0

問題是:如何在變量$ TARGET中寫入沒有通配符的正確路徑 – robinwood13

回答

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 
+0

可以將它保存在變量中嗎? – robinwood13

+0

$ TARGET = Get-ChildItem -Path「\\ MACHINE1 \ c $ \ ProgramData \ Test \ 12。* \ Data \」 – robinwood13

+0

謝謝@Johan! – robinwood13

2

在這種情況下,最好IMO使用解決路徑,

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