此删除某些文档的脚本不起作用:
$includeExtensions = @("*.doc", "*.docx")
get-childitem -Path "C:\somedir" -Include $includeExtensions | remove-item
为什么不?以及如何指定可以作为参数传递的扩展数组?
此删除某些文档的脚本不起作用:
$includeExtensions = @("*.doc", "*.docx")
get-childitem -Path "C:\somedir" -Include $includeExtensions | remove-item
为什么不?以及如何指定可以作为参数传递的扩展数组?
您可以通过管道将 Get-ChildItem 的结果过滤到您想要的扩展名上。
$includeExtensions = @(".doc", ".docx")
Get-ChildItem -Path "C:\somedir" | ?{$includeExtensions -contains $_.Extension} | Remove-Item
尝试像这样指定它:
Get-ChildItem c:\somedir\* -Inc $includeExtensions | remove-item -whatif
来自 Get-ChildItem 的文档:
Include 参数仅在命令包含 Recurse 参数或路径指向目录的内容时才有效,例如 C:\Windows*,其中通配符指定 C:\Windows 目录的内容。