标题: [系统相关] 批处理怎样删除当前文件夹下除指定后缀名外的所有文件? [打印本页]
作者: moonship 时间: 2011-3-21 11:49 标题: 批处理怎样删除当前文件夹下除指定后缀名外的所有文件?
如题,譬如当前文件夹中的jpg图像都保留,其他所有文件都删除,通过批处理能执行么?
作者: CrLf 时间: 2011-3-21 12:47
本帖最后由 zm900612 于 2011-3-21 22:06 编辑
感谢batcher勘误,代码已修正
(for /f "delims=" %%a in ('dir /a-d /b *.*^|findstr /v "\.jpg$"') do del /f /q "%%a")
作者: Batcher 时间: 2011-3-21 12:55
2# zm900612
万一有个文件叫做jpg.txt呢?
作者: wc726842270 时间: 2011-3-21 13:08
放在"c:\新建文件夹"下- wmic datafile where "drive='c:' and path='\\新建文件夹\\' and extension<>'jpg'" delete
复制代码
作者: wayaoqiang 时间: 2011-3-21 13:11
恩, 给个很一般的方法- @echo off
-
- for /f "delims=" %%a in ('dir /a-d /b *') do (
- if not "%%~xa"==".jpg" (
- if not "%%a"=="%~nx0" (
- del /f /q %%a
- )
- )
- )
-
- pause
复制代码
作者: moonship 时间: 2011-3-21 13:53
用了大家的代码好像还是不行呢?怎么回事?大家帮忙再看看
作者: Batcher 时间: 2011-3-21 14:02
6# moonship
把@echo off删掉,看看哪一步出错了。
作者: moonship 时间: 2011-3-21 14:11
4楼批处理放置目录有规定???
作者: superbat 时间: 2011-3-21 21:41
8# moonship
和你要删除的文件夹放一起
作者: Batcher 时间: 2011-3-21 23:16
8# moonship
可以在代码中使用完整路径,那样就对批处理的放置没有要求了。
作者: wc726842270 时间: 2011-3-22 01:47
本帖最后由 wc726842270 于 2011-3-22 10:59 编辑
即然那样,那就这样好了
PS:请不要随便使用。否则文件不存- @echo off
- set /p #PATH=请拖入指定文件夹(慎重使用)
- set apath=%#path:\=\\%
- set bpath=%apath:~3,-1%
- set cpath=%apath:~1,2%
- wmic datafile where "drive='%cpath%' and path='%bpath%\\' and extension<>'jpg'" delete
- pause
复制代码
仅对文件起作用,其下文件夹不会被处理
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |