poweshell批量删除某类型文件

错误方法

rm *.o" -recurse

按照提示,rm(remove-item)是可以递归删除子文件夹的。但是这个方法确实无效。在他们的示例里面找到说明:

-------------------------- 示例 4 --------------------------

C:PS>get-childitem * -include *.csv -recurse | remove-item


说明
-----------
此命令将以递归方式删除当前目录及其所有子目录中的所有 CSV 文件。

因为此 cmdlet 中的 Recurse 参数存在错误,所以此命令将使用 Get-Childitem cmdlet 来获取所需的文件,并使用管道运算
符将这些文件传递给 Remove-Item cmdlet。

在 Get-ChildItem 命令中,Path 参数的值为 *,该值代表当前目录的内容。此命令使用 Include 参数来指定 CSV 文件类型,使
用 Recurse 参数指定以递归形式进行检索。

如果您尝试在路径中指定文件类型,如“-path *.csv”,那么此 cmdlet 将把搜索对象解释为没有子项的文件,递归检索将失败。

里面提到Recurse参数有错误

正确方法

  1. 如上面的管道法
  2. 使用变量
    $path = dir -include "*.o" -recurse
    rm $path
原文地址:https://www.cnblogs.com/WeyneChen/p/6672153.html