1

下面是代码

$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()

我可以获取“Write-Host $filter”语句的输出并将其粘贴到 PowerShell 并获得我期望的结果,因此我知道过滤器是正确的。是因为我在 get-childitem 调用中使用了一个变量吗?一个人会怎么做。

4

1 回答 1

1

你在滥用-OutVariable. 它期望变量的名称$. 所以你应该使用Select-Object -OutVariable files.

但是您的代码非常不符合 PowerShell-y。在这里使用管道 &Select-Object是完全没有必要的。试试这个。

$filter = $(get-date -f "MM_dd_yyyy") + "_*_S1.txt";
$files = Get-ChildItem -filter $filter;
于 2013-07-11T19:19:32.030 回答