Deprecated: parse_url(): Passing null to parameter #1 ($url) of type string is deprecated in /www/wwwroot/blog_qqvbc_com/usr/plugins/Access/Access_Core.php on line 339

Deprecated: parse_url(): Passing null to parameter #1 ($url) of type string is deprecated in /www/wwwroot/blog_qqvbc_com/usr/plugins/Access/Access_Core.php on line 392

Deprecated: parse_url(): Passing null to parameter #1 ($url) of type string is deprecated in /www/wwwroot/blog_qqvbc_com/usr/plugins/Access/Access_Core.php on line 394
linux 批量删除目录下的文件和目录(排除指定目录) - Joyber 的博客

Bash:删除当前目录所有内容,保留 data、.git 两个目录

先预览(务必先跑这条,核对待删除列表)

find . -maxdepth 1 ! -path . ! -path ./data ! -path ./.git

确认输出是你要删掉的文件/文件夹,再执行删除:

find . -maxdepth 1 ! -path . ! -path ./data ! -path ./.git -exec rm -rf {} +

参数说明

  • ! -path .:排除当前目录本身
  • ! -path ./data:保留data文件夹
  • ! -path ./.git:保留.git版本控制目录
  • -maxdepth 1:只操作当前层级,不会钻进data/.git内部删除内容

Windows PowerShell 版本(保留 data 与 .git)

预览:

Get-ChildItem . | Where-Object {$_.Name -notin @('data','.git')}

执行删除:

Get-ChildItem . | Where-Object {$_.Name -notin @('data','.git')} | Remove-Item -Recurse -Force
⚠️操作前建议备份,预览输出确认无误再执行删除命令。

标签: none

添加新评论