2013-07-11 38 views
1

下面是代碼採用在變量中通配符的Get-ChildItem過濾

$now = [System.DateTime]::Now 

$filter = $now.ToString("MM_dd_yyyy") + "_*_S1.txt" 
Write-Host $filter 

Get-ChildItem -filter $filter | % {Write-Host $_}# Select-Object -OutVariable $files 

Write-Host $files.GetType() 

我可以把「寫主機$過濾器」語句的輸出並粘貼到PowerShell和得到的結果我期望,所以我知道過濾器是正確的。是因爲我在get-childitem調用中使用變量嗎?如何去做這件事。

+0

我在顯示你從我們問什麼,而不是說明你不懂的東西意味着描述看看你的問題與否。 – PeeHaa

+0

$文件未被代碼中的任何內容填充。 – alroc

+0

我試圖編輯標題以使其更具相關性 – alroc

回答

1

您錯用-OutVariable。它預計變量名稱沒有$。所以你應該使用Select-Object -OutVariable files

但是你的代碼非常不合PowerShell-y。這裏使用管道& Select-Object完全沒有必要。試試這個。 P記住問題的標題是什麼在頭版出現,是什麼讓人們決定他們是否想有:

$filter = $(get-date -f "MM_dd_yyyy") + "_*_S1.txt"; 
$files = Get-ChildItem -filter $filter;