【发布时间】:2021-11-15 16:20:13
【问题描述】:
我正在寻找删除给定文件夹中具有特定扩展名的所有文件的命令。两者都适用于 windows 和 mac。
谢谢!
【问题讨论】:
-
Windows:del /?
我正在寻找删除给定文件夹中具有特定扩展名的所有文件的命令。两者都适用于 windows 和 mac。
谢谢!
【问题讨论】:
删除当前文件夹中所有扩展名为.tmp的文件:
在 Windows 上:
del *.tmp
在 Mac 上:
rm -rf ./*.tmp
递归删除当前文件夹(包括子文件夹)中所有扩展名为.tmp的文件:
在 Windows 上:
del /s *.tmp
在 Mac 上:
find . -name '*.tmp' -delete
【讨论】:
del *.tmp 将删除扩展名以 tmp 开头的文件。所以del *.htm 将删除所有 .htm 和所有 .html 文件。我很难学到这一点。另一方面,来自@Spartacvs1 的find . -name "*.ext" -type f -delete 解决方案仅删除指定的扩展名(但递归地,即在所有子目录中)。
使用find 命令将有效地完成这项工作。
在文件夹内,find . -name "*.ext" -type f -delete
/!\ - 首先使用它来了解您要递归删除的内容。find . -name "*.bak" -type f
另外,请参阅man find 了解更多信息。
【讨论】:
您可以使用“del”命令后跟星号来删除文件 删除 *.class 删除 * .txt
【讨论】:
在调用del命令之前你还必须改变目录,例如一个文件bat可能是这样的
cd c:\MyFolderFullOfTmp
del *.tmp
【讨论】:
这对我有用。我做了一个小功能。
empty(){
cd $1
rm -rf *
cd -
}
空 PATH/TO/DIRECTORY
你也可以使用这个功能。
empty(){
rm -rf $1
mkdir $1
}
空 PATH/TO/DIRECTORY
【讨论】: