找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 32886|回复: 5

[文件操作] 【已解决】批处理怎样删除含指定字符的文件夹?

[复制链接]
发表于 2018-8-23 11:31:56 | 显示全部楼层 |阅读模式
本帖最后由 bataiping 于 2018-9-5 22:09 编辑

文件夹结构:
根目录下有
0001-0001-0001
0001-0002-0001
0001-0002-0002
...
等若干文件夹

每个文件夹下又都有如0001-0001-0001_01、02、03(除了最后几位,前面部分和上级文件夹一致),这种结构很多个子文件夹,每个文件夹中都有一些txt文件

现在想实现的效果是

删除所有文件夹中,最后3位是“_88”的子文件夹(不管里面有没有txt文件),还有,不确定是否每个文件夹下都有_88结尾的文件夹

请老师们指教一下,如果能带上注释就更感激不尽了

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2018-8-23 20:02:01 | 显示全部楼层

  1. @echo off & setlocal enabledelayedexpansion
  2. for /d /r %1 %%a in (*) do (set "str=%%~nxa" & if /i "!str:~-3!" == "_88" rd /s/q "%%a")
  3. pause
复制代码
把根目录文件夹拖到批上来。
把 XXX_88 文件下的一切文件和文件夹删除,不确定要删的请不要偿试。

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2018-8-23 21:29:33 | 显示全部楼层
for /d /r %%i in (*_88) do echo rd /s /q "%%i" 2>nul
 楼主| 发表于 2018-8-28 19:40:55 | 显示全部楼层
回复 2# xczxczxcz

测试没有问题了,多谢多谢
 楼主| 发表于 2018-8-28 19:41:26 | 显示全部楼层
回复 3# WHY
不知道为什么没成功,我再琢磨一下,多谢了
发表于 2018-8-29 08:25:03 | 显示全部楼层
回复 5# bataiping


    把echo删掉试试
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 18:34 , Processed in 0.018093 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表