【Windows批处理III】实现删除含自定字符串的文件和文件夹(搜索子目录)
1)目的:实验室小网空间因镜像版本太多,容量告警,希望清出一部分空间
具体需求:删除E盘下,所有含rar字符串的文件;
删除E盘下,所有含hi6620字符串文件夹;
步骤:
(风险请知:如果不check告警的文件file.log和folder.log,而在脚本暂停时继续,有误删的风险)
1.将下面批处理保存为xxx.bat
2.运行脚本
脚本如下:
@echo off rem 如果是磁盘符,最好加上\符合
set DESC_PATH=E:\ rem 只需要部分字符
set file_str=rar
set folder_str=hi6620 rem 控制开关
set search_file=
set search_folder=
set del_flag= rem 临时文件,备份记录用,不用修改
set file_log=file.log
set folder_log=folder.log
set workspace=%CD% rem 只查找文件
if %search_file%== (
cd /d %DESC_PATH%
rem 搜寻子目录,排除文件夹
dir /b /s /a-d | find "%file_str%" > %workspace%\%file_log%
) rem 只查找目录
if %search_folder%== (
cd /d %DESC_PATH%
rem 目的:希望不统计文件在内
dir /b /s /a-a | find "%folder_str%" > %workspace%\%folder_log%
) rem 待考虑引入输入判断yes or no 决定是否删除,这样更人性
echo Warning:%workspace%\%file_log% and %folder_log%, please check ...
pause cd /d %workspace%
if %del_flag%== (
if %search_file%== (
for /f %%i in (%workspace%\%file_log%) do (
if exist %%i del %%i
)
)
if %search_folder%== (
for /f %%i in (%workspace%\%folder_log%) do (
if exist %%i rd /s /q %%i
)
)
) cd /d %workspace%
pause
2)check两个临时文件时,建议用命令排除一些你不想看到的条目
比如排除含img或lib或log或tool字符串的条目,将结果存入tmp.log,命令如下:
type folder.log | findstr /v "img lib log tool" > tmp.log
点评:脚本中用的是find命令,只能一次搜索一个字符串,如果该为findstr命令效果会更好些;
【Windows批处理III】实现删除含自定字符串的文件和文件夹(搜索子目录)的更多相关文章
- 使用 windows 批处理指令(BAT文件)进行文件删除、复制操作
以下是做文件删除和复制的批处理指令 ::替换文件需要添加 /y 参数才能直接替换.不然会出现提示是否替换. ::复制Axis2Implementation和WebServices编译后的文件到tomc ...
- Win强制删除文件windows批处理强行删除文件
一般情况下选中文件或文件夹可以直接删除文件,但是有些情况下例如:文件非常规命名.找不到文件位置等就无法直接删除. 针对这种情况可以用 bat批处理文件 删除,一下就是该方法的步骤 新建一个文件:*** ...
- windows 批处理删除指定目录下 指定类型 指定天数之前文件
删除D:\test下5天前所有文件,如下: @echo offset SrcDir=D:\testset DaysAgo=5forfiles /p %SrcDir% /s /m *.* /d -%Da ...
- WINDOWS批处理命令使用大全
来源:http://www.942dn.com就是爱电脑网 WINDOWS批处理命令使用大全 批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母.它的构成没有固定格式, ...
- windows批处理语法
写批处理文件,除了了解基本语法外,你还需要熟悉常用的windows命令,那就先看看这篇文章:windows常用命令 #重要说明 文件及目录路径:要使用反斜杠'\',不要使用正斜杠'/' 如:del d ...
- Windows 批处理(bat)语法大全
本文是学习bat整理的笔记,由于内容较多,建议结合右侧文章大纲查看. %~dp0[获取当前路径] %~dp0 “d”为Drive的缩写,即为驱动器,磁盘.“p”为Path缩写,即为路径,目录 cd % ...
- Windows批处理(cmd/bat)常用命令小结
转载自:“趣IT”微信公共号 前言 批处理文件(batch file)包含一系列 DOS命令,通常用于自动执行重复性任务.用户只需双击批处理文件便可执行任务,而无需重复输入相同指令.编写批处理文件非常 ...
- [转帖]Windows批处理(cmd/bat)常用命令小结
Windows批处理(cmd/bat)常用命令小结 非常值得学习的文档 先放这里 有时间做实验, 转载自:“趣IT”微信公共号 前言 批处理文件(batch file)包含一系列 DOS命令,通常用于 ...
- Windows 批处理大全(附各种实例)
Windows 批处理大全(附各种实例) 2009年07月19日 21:31:00 阅读数:2552 批处理文件是无格式的文本文件,它包含一条或多条命令.它的文件扩展名为 .bat 或 .cmd.在命 ...
随机推荐
- ajax用法流程
这里是用javascript做的一个ajax的一个用法以及总结概括.供友友们进行参考. 1 window.onload=function() { var oBtn=document.getElemen ...
- (转) Eclipse连接MySQL数据库(傻瓜篇)
Eclipse连接MySQL数据库(傻瓜篇) 原帖地址: http://www.cnblogs.com/fnng/archive/2011/07/18/2110023.html Posted on 2 ...
- easyui datagrid 仿ext—右键
var createGridHeaderContextMenu = function(e, field) { e.preventDefault(); var grid = $(this);/* gri ...
- PHP匿名函数的使用
$dealer = array(); array_walk($dealer_id_arr,function($value) use(&$dealer) { $dealer[] = get_co ...
- file_get_contents微信头像等待时间过长的原因
UPDATE 2016/05/13 stackoverflow上的解决方法:http://stackoverflow.com/questions/3629504/php-file-get-conten ...
- MyBatis简介
- day 2
三目运算符 A?B:C 等价于 if(A) B; else C; 实例: int i: i=(3>2?5:1) //如果3>2为真,i的值为5,否则为1 printf(“%d”,i): ...
- javacsript Numnber 对象
引子: initUppercent = (uploadedSize / file.size * 100).toFixed(2) + '%'; 一.javaScript Number对象 ------- ...
- Head First 设计模式 --5 单例模式
单例模式:确保一个类只有一个实例,并提供一个全局访问点.用到的设计原则:1.封装变化2.组合优于集成3.针对接口变成而不是针对实现4.为交互对象之间的松耦合设计而努力5.类应该对扩展开放,对修改关闭6 ...
- hello word
开通微博,用于记录在工作中遇到的点滴问题. 2015/08/31