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参数有错误
正确方法
- 如上面的管道法
- 使用变量
$path = dir -include "*.o" -recurse rm $path