以下是代码
$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 :(得分:1)
你在滥用-OutVariable
。它期望变量的名称没有 $
。所以你应该使用Select-Object -OutVariable files
。
但你的代码非常非PowerShell-y。使用管道&这里完全不需要Select-Object
。试试这个。
$filter = $(get-date -f "MM_dd_yyyy") + "_*_S1.txt";
$files = Get-ChildItem -filter $filter;