我使用以下命令按预期成功删除文件;但是,我想知道删除的项目。
Get-ChildItem $dPath -Filter "*.blah" | Remove-Item
我试过这个。它总是删除文件但是在删除后运行Measure-Object,因此总是返回0作为计数
Get-ChildItem -Path C:\Temp -Filter "*.blah" | Remove-Item | Measure-Object
然后我反过来尝试了它,但总是得到:
[Remove-Item],ItemNotFoundException
Get-ChildItem -Path C:\Temp -Filter "*.blah" | Measure-Object | Remove-Item
答案 0 :(得分:4)
收集变量中的项目,获取该列表的计数,然后删除项目:
$items = Get-ChildItem -Path C:\Temp -Filter "*.blah"
$cnt = $items.Count
$items | Remove-Item
或计算已成功删除的项目:
$cnt = 0
Get-ChildItem -Path C:\Temp -Filter "*.blah" | ForEach-Object {
Remove-Item $_.FullName
if ($?) { $cnt++ }
}
答案 1 :(得分:1)
删除后,您可以将FileInfo
返回的Get-ChildItem
写入输出管道:
Get-ChildItem -Path $path |
ForEach-Object { Remove-Item $_; Write-Output $_} |
Measure-Object