我使用以下代码获取文件的FileDescription:
(dir C:\test.exe).VersionInfo | select-object FileDescription | fl
这很好用,下一步是:我希望搜索以特定FileDescription结尾的所有文件,然后删除这些文件所在的文件夹。这可能吗?谢谢!
答案 0 :(得分:0)
我的烟斗出错了。由于我们只管道.VersionInfo
Get-ChildItem C:\test.exe | Where-Object{$_.VersionInfo.FileDescription -like "*endofdescription"} | Remove-Item -WhatIf
如果您使用-Recurse
返回更多文件并继续使用Where-Object
来过滤您想要的文件,那将更有意义。这应该找到文件并返回其文件夹名称。由于文件夹中可能有多个文件匹配,我们可以在Select-Object -Unique
中输出结果以获取单个文件夹。
Get-ChildItem C:\MyFolder -Recurse | Where-Object{$_.VersionInfo.FileDescription -like "*endofdescription"} | ForEach-Object{Split-Path $_.FullName -Parent} | Select-Object -Unique | ForEach-Object{Remove-Item $_ -WhatIf -Confirm:$false -Force -Recurse}
我保留-WhatIf
作为预防措施。如果代码符合您的需要,请删除。
答案 1 :(得分:0)
这有用吗?
Get-ChildItem C:\MyFolder -Recurse | `
Where-Object{$_.VersionInfo.FileDescription -like "*endofdescription"} |`
%{$_.DirectoryName}|`
sort-object -unique| `
remove-item -recurse -whatif