【问题标题】:Is there a correct form of using find?是否有使用 find 的正确形式?
【发布时间】:2019-12-12 18:48:25
【问题描述】:

我正在尝试删除除 init.py 之外的所有内容,在 powershell 中使用此命令(windows 10 和 python django 版本 - 2.2.7):

找到 . -path "/blog/migrations/.py" -not -name "init.py" -delete

此项目的树(附图片)

**如果我运行命令我得到这个错误:

发现:参数格式不正确

怎么办?先感谢您。我是 python django 的新手。**

【问题讨论】:

  • 该图像是纯文本图像。将其粘贴为文本将是微不足道的。请看这个:meta.stackoverflow.com/questions/285551/…
  • @zvone 我知道,但问题不在于这个,如果我粘贴了它,它会有另一种形式
  • FIND.exe 命令不是 powershell。另外,据我所知,Find.exeCMD.exe 版本不支持您在帖子中显示的选项。您使用的是什么操作系统和Find.exe 的哪个版本?
  • @Lee_Dailey 我用的是windows,不是os,也不是find.exe
  • 您使用的语法是 Unix find 实用程序的语法,而错误消息暗示 Windows find.exe 实用程序被调用。

标签: powershell command


【解决方案1】:

以下脚本将删除所有未命名为“init.py”的文件。确保在要从中删除项目的文件夹的根目录下运行此命令。

Get-Childitem -File -Recurse | Where-Object{$_.Name -ne "init.py"} | Remove-Item -WhatIf

要测试,请留下-WhatIf 开关。如果它显示了您要删除的文件,请在不使用 -WhatIf 开关的情况下再次运行。

【讨论】:

  • 没用我还有相同的文件@infosecb
  • 很好,尽管使用-Exclude init.pyGet-ChildItem 既简单又快速。 @NickDruta,这应该可以,但是您必须将目标路径传递给Get-ChildItem
  • @NickDruta,您可能会注意到应用于Remove-Item cmdlet 的-WhatIf 参数。这只显示如果你运行它会发生什么,并没有真正采取行动。删除-WhatIf,它应该删除文件。此外,mklement0 所说的 -exclude init.py 更快。如果可能,请始终在Get-ChildItem 级别进行过滤。
猜你喜欢
  • 2011-09-08
  • 1970-01-01
  • 2017-08-29
  • 1970-01-01
  • 2011-03-18
  • 1970-01-01
  • 2015-08-20
  • 2020-03-09
  • 1970-01-01
相关资源
最近更新 更多