全球主机交流论坛

标题: 请教个批处理删除文件问题 [打印本页]

作者: Chiser    时间: 2021-3-1 14:58
标题: 请教个批处理删除文件问题
例D盘目录下有abc文件夹,xyz文件

批处理要的效果为:删除除abc文件夹及abc下的子文件夹和文件,以及xyz文件以外的所有文件夹及文件

有大佬解答没
作者: apdc    时间: 2021-3-1 15:40
我只知道 rm -rf *
作者: Chiser    时间: 2021-3-1 15:51
apdc 发表于 2021-3-1 15:40
我只知道 rm -rf *

这个太危险了
作者: yooping    时间: 2021-3-1 15:57
cmd不会, powershell的话应该是这样

ls -Exclude abc,xyz | rm -Force -Recurse

是这个意思吗? 除abc,xyz外的全部删除
作者: nat.ee    时间: 2021-3-1 15:57
你描述得不清楚,即使我会写批处理,也难给你解决。
那些文件夹保留,包括文件格式
作者: nat.ee    时间: 2021-3-1 16:05
可以利用批处理实现
dir找出当前目录下的所有目录,再利用findstr过滤掉你的abc文件夹,然后得出其他文件夹,再删除。
dir找出当前目录下的所有文件,再利用findstr过滤掉你的xyz文件,然后得出其他文件,再删除。
要写两个for 一个处理删除文件夹,一个处理删除文件,因为 删除文件夹和文件的命令不同。
作者: 好大一个瓜    时间: 2021-3-1 16:07
本帖最后由 好大一个瓜 于 2021-3-1 17:06 编辑

找下Linux命令,里面有的啊,我只单独删除过,批量的没试过不知道

作者: Chiser    时间: 2021-3-1 18:09
nat.ee 发表于 2021-3-1 15:57
你描述得不清楚,即使我会写批处理,也难给你解决。
那些文件夹保留,包括文件格式 ...


已经很清楚了啊,abc文件夹和abc里面的所有子目录及任何文件、xyz文件不删除,其余删除

作者: lilyhcn1    时间: 2021-3-1 18:22
为什么不是把文件复制出来,然后全删了
作者: xshell    时间: 2021-3-1 18:36
把xyz移动一下,然后rm -rf完事
作者: Chiser    时间: 2021-3-1 18:54
lilyhcn1 发表于 2021-3-1 18:22
为什么不是把文件复制出来,然后全删了


既然用到批处理肯定有用处的,要添加到关机脚本里的,每次关机自动执行
作者: nat.ee    时间: 2021-3-1 19:15
本帖最后由 nat.ee 于 2021-3-1 19:43 编辑

  1. @echo OFF
  2. ::网址:nat.ee
  3. ::批处理:荣耀&制作
  4. pushd "%~dp0"

  5. ::要删除的目录,请不要将此脚本放进去里面。
  6. SET delfolder=C:\Users\Administrator\Desktop\test

  7. ::白名单-文件夹-自定义
  8. SET folder=abc

  9. ::白名单-文件-自定义
  10. SET file=xyz

  11. ::文件夹
  12. ECHO 正在删除文件夹……
  13. for /f %%a in ('dir /b /a:d "%delfolder%" ^|findstr /v "^%folder%$"') do (rmdir /s /q "%delfolder%\%%a")
  14. ECHO.
  15. ::文件
  16. ECHO 正在删除文件……
  17. for /f %%b in ('dir /b /a:-d "%delfolder%" ^|findstr /v "^%file%$"') do (del /F /S /Q "%delfolder%\%%b")
  18. ECHO.
  19. ECHO 批量删除完成。
  20. ECHO.
  21. pause
复制代码


来了,自行测试。
作者: Chiser    时间: 2021-3-1 19:20
nat.ee 发表于 2021-3-1 19:15
来了,自行测试。

经测试把不该删的都删了,无法复原
作者: nat.ee    时间: 2021-3-1 19:38
本帖最后由 nat.ee 于 2021-3-1 19:44 编辑
Chiser 发表于 2021-3-1 19:20
经测试把不该删的都删了,无法复原


搞定了,重新测试,不过假如你的文件或者文件夹 带有空格名称的,会无法删除。




欢迎光临 全球主机交流论坛 (https://lilynana.eu.org/) Powered by Discuz! X3.4