标题: [文件操作] 请问怎么删除多个文件夹里指定的相同文件夹名里面的所有文件 [打印本页]
作者: love303929545 时间: 2018-3-26 11:58 标题: 请问怎么删除多个文件夹里指定的相同文件夹名里面的所有文件
本帖最后由 pcl_test 于 2018-4-2 10:10 编辑
现在有以下路径
C:\Users\Administrator\Documents\1\233\Video
C:\Users\Administrator\Documents\1\233\mpg
C:\Users\Administrator\Documents\1\233\acc
C:\Users\Administrator\Documents\1\234\Video
C:\Users\Administrator\Documents\1\234\mpg
C:\Users\Administrator\Documents\1\234\acc
C:\Users\Administrator\Documents\1\235\Video
C:\Users\Administrator\Documents\1\235\mpg
C:\Users\Administrator\Documents\1\235\acc
C:\Users\Administrator\Documents\1\236\Video
C:\Users\Administrator\Documents\1\236\mpg
C:\Users\Administrator\Documents\1\236\acc
C:\Users\Administrator\Documents\1\n\Video
C:\Users\Administrator\Documents\1\n\mpg
C:\Users\Administrator\Documents\1\n\acc
意思说不只是有233 234 235 236还有237 238 239等等一直N个都是有video和mgp和acc文件夹,或者说233 234 235等等文件夹名字都不一样。但是里面都有一个video和其他mpg等文件夹,现在只且仅仅要删除所有文件夹里面的video的所有文件,而mpg和其他无关文件保留,请问这个bat要怎么写额。。。不要用把保留文件移动出在移动进来的命令,文件太多了的话很费时间、
作者: yhcfsr 时间: 2018-3-26 14:51
本帖最后由 yhcfsr 于 2018-3-26 17:54 编辑
放在文件夹1中执行
务必备份源数据- @ECHO OFF&setlocal enabledelayedexpansion
- set "SrcDir=C:\Users\Administrator\Documents\1"
-
- cd /d "%SrcDir%"
- if errorlevel 1 (
- echo 指定目录不存在
- ) else (
- for /f "delims=" %%a in ('dir /ad/s/b^|findstr /i /r "\\video$"') do rd /s /q "%%a"&&md "%%a"
- )
复制代码
作者: zaqmlp 时间: 2018-3-26 15:04
回复 2# yhcfsr
又是这样,你这findstr没有严谨区分,会误杀的
作者: yhcfsr 时间: 2018-3-26 15:13
回复 3# zaqmlp
无妨,题主提供的路径名中,上级目录中并无video,怎么会误杀?
作者: zaqmlp 时间: 2018-3-26 15:47
回复 4# yhcfsr
你怎么知道他给出的就是全部,就是实际路径?findstr "\\video$"和if不是更好
作者: love303929545 时间: 2018-3-26 15:56
回复 2# yhcfsr
多谢大佬,请问想随便放哪儿都可以删除这个指定的video有办法实现吗?或者放桌面也行
作者: love303929545 时间: 2018-3-26 15:57
回复 5# zaqmlp
大佬请问想把bat放在桌面或者随意放在其他地方要怎么弄呢?最少放桌面实现删除video这个文件夹。可以的话能教下吗?
作者: yhcfsr 时间: 2018-3-26 16:14
回复 6# love303929545
已改,看2楼
作者: love303929545 时间: 2018-3-26 16:31
回复 8# yhcfsr
谢谢,尴尬,。。。能再问下吗 ,能不能保存video文件夹而把video里面的所有文件删除的呢?这个能实现吗?
作者: Batcher 时间: 2018-3-26 17:20
回复 2# yhcfsr
cd之后判断一下比较安全,否则有误删文件的风险。- @echo off
- cd /d "C:\Users\Administrator\Documents\1"
- if errorlevel 1 (
- echo 指定目录不存在
- ) else (
- echo 删除文件的for命令放在这里
- )
复制代码
作者: yhcfsr 时间: 2018-3-26 17:57
回复 10# Batcher
感谢5楼和10楼楼主的指正,del和RD是两个非常危险的命令,综合两位的意见,我又修改了2楼代码。
作者: /zhqsystem/zhq 时间: 2018-3-26 20:30
for /f "delims=" %%i in ('dir/ad/s/b ".\Video*"')do if /i "%%~nxi"=="Video" if exist "%%~dpimpg\" if exist "%%~dpiacc\" del/s/q "%%~fi\*.*"
作者: love303929545 时间: 2018-3-27 08:46
回复 2# yhcfsr
请问大佬,我把路径换成了微信数据存储路径,然后微信登录的时候是只删除了video文件夹,但是我把微信都退出之后,直接把整个微信数据目录WeChat Files全部删除了,这个要怎么改呢?微信数据储存目录路径是C:\Users\Administrator\Documents\WeChat Files,然后下面是每个微信号的名字文件夹,每个微信号文件夹有video和其他文件夹,聊天记录等。
作者: yhcfsr 时间: 2018-3-27 09:36
本帖最后由 yhcfsr 于 2018-3-27 09:38 编辑
把你改的代码放出来,可以的话把目录树(图或文件均可)也放出来。
按你的描述,我还原你的操作:登陆微信,运行BAT,删除video,bat退出。退出微信,运行BAT,意外删除整个目录。不知是否正确?
细节的地方,可以加我好友33892006。
作者: love303929545 时间: 2018-3-30 08:40
回复 14# yhcfsr
多谢大佬,已经可以了,是我没弄好。因为是加了新的删除文件夹,没有分段,所以才删除了整个目录。分段就好了。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |