[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 请问怎么删除多个文件夹里指定的相同文件夹名里面的所有文件

本帖最后由 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 17:54 编辑

放在文件夹1中执行
务必备份源数据
  1. @ECHO OFF&setlocal enabledelayedexpansion
  2. set "SrcDir=C:\Users\Administrator\Documents\1"
  3. cd /d "%SrcDir%"
  4. if errorlevel 1 (
  5.     echo 指定目录不存在
  6. ) else (
  7.     for /f "delims=" %%a in ('dir /ad/s/b^|findstr /i /r "\\video$"') do rd /s /q "%%a"&&md "%%a"
  8. )
复制代码

TOP

回复 2# yhcfsr

又是这样,你这findstr没有严谨区分,会误杀的
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

回复 3# zaqmlp


    无妨,题主提供的路径名中,上级目录中并无video,怎么会误杀?

TOP

回复 4# yhcfsr

你怎么知道他给出的就是全部,就是实际路径?findstr "\\video$"和if不是更好
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

回复 2# yhcfsr


    多谢大佬,请问想随便放哪儿都可以删除这个指定的video有办法实现吗?或者放桌面也行

TOP

回复 5# zaqmlp


    大佬请问想把bat放在桌面或者随意放在其他地方要怎么弄呢?最少放桌面实现删除video这个文件夹。可以的话能教下吗?

TOP

回复 6# love303929545


    已改,看2楼

TOP

回复 8# yhcfsr


    谢谢,尴尬,。。。能再问下吗 ,能不能保存video文件夹而把video里面的所有文件删除的呢?这个能实现吗?

TOP

回复 2# yhcfsr


cd之后判断一下比较安全,否则有误删文件的风险。
  1. @echo off
  2. cd /d "C:\Users\Administrator\Documents\1"
  3. if errorlevel 1 (
  4.     echo 指定目录不存在
  5. ) else (
  6.     echo 删除文件的for命令放在这里
  7. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 10# Batcher


    感谢5楼和10楼楼主的指正,del和RD是两个非常危险的命令,综合两位的意见,我又修改了2楼代码。

TOP

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\*.*"
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

回复 2# yhcfsr


    请问大佬,我把路径换成了微信数据存储路径,然后微信登录的时候是只删除了video文件夹,但是我把微信都退出之后,直接把整个微信数据目录WeChat Files全部删除了,这个要怎么改呢?微信数据储存目录路径是C:\Users\Administrator\Documents\WeChat Files,然后下面是每个微信号的名字文件夹,每个微信号文件夹有video和其他文件夹,聊天记录等。

TOP

本帖最后由 yhcfsr 于 2018-3-27 09:38 编辑

把你改的代码放出来,可以的话把目录树(图或文件均可)也放出来。
按你的描述,我还原你的操作:登陆微信,运行BAT,删除video,bat退出。退出微信,运行BAT,意外删除整个目录。不知是否正确?
细节的地方,可以加我好友33892006。

TOP

回复 14# yhcfsr


    多谢大佬,已经可以了,是我没弄好。因为是加了新的删除文件夹,没有分段,所以才删除了整个目录。分段就好了。

TOP

返回列表