标题: [文件操作] 批处理如何删除不存在指定扩展名/后缀名的文件的子文件里的所有文件 [打印本页]
作者: microming 时间: 2009-11-26 16:17 标题: 批处理如何删除不存在指定扩展名/后缀名的文件的子文件里的所有文件
本帖最后由 pcl_test 于 2016-8-9 09:26 编辑
批处理查找当前目录下的所有的文件 如果查找子文件夹里没有后缀名abc的文件则删除改子文件夹下所有文件
作者: vsbat 时间: 2009-11-26 16:57
- @echo off
- for /f "delims=" %%i in ('dir /s /b /ad') do (
- if not exist %%i\*.txt del /f /q "%%i"\*)
- echo 处理成功
- pause
复制代码
这里的txt 就是你的 abc
作者: batman 时间: 2009-11-26 17:08
楼上的代码应该会有问题:
应该是if not exist "%%i\*.txt" del /f /q "%%i\*"
作者: vsbat 时间: 2009-11-26 17:29 标题: 回楼上
是路径空格的问题吗
可是我测试是成功的
if 的没引号==行
del 的不加引号不行
作者: microming 时间: 2009-11-26 17:33 标题: 回复 2楼 的帖子
要是改成 查找当前目录下的所有的文件 如果查找子文件夹里没有后缀名abc和后缀名def的文件则删除改子文件夹下所有文件 怎么改?
作者: microming 时间: 2009-11-26 17:34 标题: 回复 4楼 的帖子
vsbat 兄的代码是可以运行的 非常感谢!
作者: vsbat 时间: 2009-11-26 17:43
@echo off
for /f "delims=" %%i in ('dir /s /b /ad') do (
if not exist %%i\*.txt (if not exist %%i\*.bmp del /f /q "%%i"\*))
echo 处理成功
pause
这个适用于 文件夹即没有bmp 又没有 txt 那么我就清空它
作者: vsbat 时间: 2009-11-26 17:46
@echo off
for /f "delims=" %%i in ('dir /s /b /ad') do (
if not exist %%i\*.txt del /f /q "%%i"\*
if not exist %%i\*.bmp del /f /q "%%i"\*)
echo 处理成功
pause
这个适用于 文件夹 没有 bmp 或 txt 那么就清空它
作者: bhsx 时间: 2009-11-26 17:54
DIR *.ABC&&DEL /Q /F *
作者: vsbat 时间: 2009-11-26 18:12 标题: 回复 9楼 的帖子
请问楼上的
你测试了没有
作者: hdxhao 时间: 2009-11-26 18:58
太好了,我先学习了.
作者: microming 时间: 2009-11-27 00:40 标题: 回复 7楼 的帖子
非常感谢!!!
这样写行不行?
@echo off
for /f "delims=" %%i in ('dir /s /b /ad') do (
if not exist %%i\*.txt if not exist %%i\*.bmp del /f /q "%%i"\* )
echo 处理成功
pause
去掉括号 我运行了一下 也是可以的 不知道有没有语法错误
作者: vsbat 时间: 2009-11-27 19:31 标题: 回复 12楼 的帖子
实践是检验真理的唯一标准
既然运行成功
说明 这样可以
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |