我无法以递归方式从我的Python项目中删除pyc文件。
这是项目:
Directory: C:\Users\jk025523\projects\ex47 Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 10/07/2016 01:52 bin d----- 10/07/2016 01:52 docs d----- 10/07/2016 01:52 ex47 d----- 10/07/2016 01:52 tests -a---- 09/07/2016 21:02 521 setup.py
测试目录中确实存在一些pyc文件:
Directory: C:\Users\jk025523\projects\ex47\tests Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 09/07/2016 21:28 180 ex47_tests.py -a---- 09/07/2016 21:28 721 NAME_tests.pyc -a---- 05/07/2016 10:52 0 __init__.py -a---- 05/07/2016 11:37 140 __init__.pyc
但是当我在PowerShell中输入此命令以删除所有pyc文件时:
find . -name "*.pyc" -exec rm -rf {}
PowerShell输出此错误:
FIND:参数格式不正确
有人知道如何从这个Python项目中删除所有pyc文件吗?
答案 0 :(得分:5)
您尝试使用的命令是Linux / Unix here命令,它不能在Windows上运行(除非您安装了Cygwin之类的东西,我不会这样做推荐)。 Windows具有find
,但功能不同(更像grep
)。 PowerShell没有find
cmdlet或别名。您可以使用PowerShell中的特定扩展名递归删除文件:
Get-ChildItem -Filter '*.pyc' -Force -Recurse | Remove-Item -Force
答案 1 :(得分:0)
如果"发现"你正在运行的命令是linux / unix的等价物,你的--exec rm -rf {}
最后需要一个分隔符。像这样:
find . -name "*.pyc" -exec rm -rf "{}" \;
我还建议始终将变量括号({}
)包装在引号中,以确保不会删除多于您要删除的内容。
编辑:看起来您使用的是Windows find
变体,它不支持您尝试使用的参数。您可以查看this page语法示例。
您可能需要查看one of these answers的替代方案。