【问题标题】:How to remove all files with specific extension in folder?如何删除文件夹中具有特定扩展名的所有文件?
【发布时间】:2021-11-15 16:20:13
【问题描述】:

我正在寻找删除给定文件夹中具有特定扩展名的所有文件的命令。两者都适用于 windows 和 mac。

谢谢!

【问题讨论】:

标签: cmd terminal


【解决方案1】:

删除当前文件夹中所有扩展名为.tmp的文件:

在 Windows 上:

del *.tmp

在 Mac 上:

rm -rf ./*.tmp


递归删除当前文件夹(包括子文件夹)中所有扩展名为.tmp的文件:

在 Windows 上:

del /s *.tmp

在 Mac 上:

find . -name '*.tmp' -delete

【讨论】:

  • 如何为 makefile 定义类似的行为?
  • 在 Windows 中,del *.tmp 将删除扩展名以 tmp 开头的文件。所以del *.htm 将删除所有 .htm 和所有 .html 文件。我很难学到这一点。另一方面,来自@Spartacvs1 的find . -name "*.ext" -type f -delete 解决方案仅删除指定的扩展名(但递归地,即在所有子目录中)。
【解决方案2】:

使用find 命令将有效地完成这项工作。
在文件夹内,
find . -name "*.ext" -type f -delete

/!\ - 首先使用它来了解您要递归删除的内容。
find . -name "*.bak" -type f

另外,请参阅man find 了解更多信息。

【讨论】:

    【解决方案3】:

    您可以使用“del”命令后跟星号来删除文件 删除 *.class 删除 * .txt

    【讨论】:

      【解决方案4】:

      在调用del命令之前你还必须改变目录,例如一个文件bat可能是这样的

      cd c:\MyFolderFullOfTmp
      del *.tmp
      

      【讨论】:

        【解决方案5】:

        这对我有用。我做了一个小功能。

        empty(){
           cd $1
           rm -rf *
           cd -
        }
        

        空 PATH/TO/DIRECTORY

        你也可以使用这个功能。

        empty(){
           rm -rf $1
           mkdir $1
        }
        

        空 PATH/TO/DIRECTORY

        【讨论】:

          猜你喜欢
          • 2012-11-29
          • 2014-07-25
          • 2011-10-13
          • 1970-01-01
          • 1970-01-01
          • 2019-01-31
          • 2016-01-06
          • 2016-03-20
          • 2015-02-01
          相关资源
          最近更新 更多