想必大多数办公的同志都有个习惯----往桌面上堆放文件,各种文件。几天下来桌面就杂乱无章,乱七八糟的。能做一个快速清理的功能,是很有实用价值的。比如采用Windows自带的DOS批处理系统,就可快速搭建并应用。如果掌握一些基本要领,还能DIY自定义功能。下面就以一个小例子作学习参考 ------- 基于.bat批处理命令快速汇总所有符合条件的文件放置于指定文件夹中 (图片文件为例)。


准备

首先要整理一下思绪,需要用到有关命令:复制、粘贴、剪切、匹配字符串、新建文件夹、删除等。在dos中有copyxcopymovemddel等命令可供选择,还有结构语句如IFFOR等。

编写

尝试使用多种做法:

【1】

@echo off

cd\
c:
cd C:\Users\Administrator\Desktop\ if not exist _imgs md _imgs
move .\*.jpg .\_imgs
move .\*.jpeg .\_imgs
move .\*.png .\_imgs
move .\*.gif .\_imgs
move .\*.tga .\_imgs
move .\*.tiff .\_imgs
move .\*.psd .\_imgs
move .\*.jfif .\_imgs REM pause

上述语法很清晰,先进入desktop桌面文件夹中,然后如果没有_imgs文件夹,就新建,有则忽略,随后移动相关符合后缀名的文件至该目录中。

【2】

@echo off

cd\
c:
cd C:\Users\Administrator\Desktop\ if not exist _imgs md _imgs for /d %%i in (jpg jpeg gif png tga tiff psd jfif) do move ".\*.%%i" ".\_imgs" REM pause

同样的流程,只是借了FOR循环语句来处理move操作命令。

使用for /d来检索目录中的路径及文件名,如果符合条件则执行循环语句。

【3】

@echo off

cd\
c:
cd C:\Users\Administrator\Desktop\ if not exist _imgs md _imgs for /d %%i in (jpg jpeg gif png tga tiff psd jfif) do (
for %%j in (*.%%i) do (
echo %%j
xcopy .\%%j .\_imgs
if exist .\_imgs\%%j (
del .\%%j
) else (
echo nocopy
) ) )
REM pause

这种做法更自然、更详细,更容易拓展。嵌套了一层For,判断是否已经复制了相关文件,如果没有复制到就不会删除,有则删除。复制删除语句被拆分细化,逻辑严密。

结语

当然啦,读者可以自行更改文件名后缀以供符合不同格式的文件来做整理;还能使用通配符继续缩小文件检索范围,如加前缀或后缀等。很实用的脚本,希望能帮到读者!

PS

数据无价,测试DOS中的del命令需要格外严谨、上心。最好备份好文件,谨防误删。

DOS批处理小案例应用分享 - 整理桌面的更多相关文章

  1. DOS批处理命令递归删除给定的文件(夹),兼VC工程清理小工具

    使用dos批处理命令递归删除指定的文件(夹): (下面内容针对清理VC工程!自己按说明任意修改) 2014-06-10修改:删除前增加了[y,n]询问: echo off rem 递归删除当前文件下指 ...

  2. DOS批处理命令判断操作系统版本、执行各版本对应语句

    DOS批处理命令判断操作系统版本.执行各版本对应语句   昨天在家里试用  netsh interface ip set address 这些命令更改上网IP.DNS.网关等,今天将那些代码拿来办公室 ...

  3. DOS批处理延时技术

    DOS批处理延时技术 举个例子,我们要延时5秒打开gdh.txt这个文件,可以用以下几个方法 方法一:ping  缺点:时间精度为1秒,不够精确   www.2cto.com   @echo off  ...

  4. Webx小应用的实现整理与分析

    Webx小应用的实现整理与分析 初次在园子里与大家分享自己的所学,欢迎各种指点~ By 仰城 2013-08-07 学习一段时间webx.ibatis.spring以及maven的基本知识之后,应用它 ...

  5. DOS批处理中对含有特殊字符的文件名的处理方法

    从一些网站下载的文件,文件名带有广告,典型的就是网站的名称和域名,搞得文件名很长.在一些场景下,广告看得见,真正的文件名却被...了.在以前,我是遇到就手工去掉广告,但一是麻烦,二是效率低.反正经常下 ...

  6. 一些小案例_C#

    下面是一些小的案例.(C#) 1,求一段数第n位 //1 1 2 3 5 8 求30位 //规律是前两位之和是第三位数, ;//定义第一位 ;//定义第二位 ;//总和 ; i < ; i++) ...

  7. vb和dos批处理创建或生成快捷方式

    https://www.cnblogs.com/gszhl/archive/2009/04/23/1441753.html vb和dos批处理创建或生成快捷方式   首先说我现在用的一种,最有效的也是 ...

  8. Linux centosVMware 命令 lvm、磁盘故障小案例

    一.lvm命令 LVM:逻辑分区管理,可基于动态的扩展缩小硬件设备的使用空间,注意:lvm磁盘复杂,由于使用lvm,数据丢失恢复起来有一定风险.概念:pv.VG.lvpv(物理卷,有pp基本单位构成) ...

  9. 【JavaScript定时器小案例】常见的几种定时器实现的案例

    [JavaScript定时器小案例]常见的几种定时器实现的案例 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 在日常开发 ...

  10. 利用DOS批处理实现定时关机操作

    10月1放假回来,寝室晚上10:30就停电了,最无法让人理解的是第二天早上8:00才来电.原来晚上电脑都是不关机的,开着WiFi一直到天亮,可是现在不行了,电脑如果一直开着第二天早上起来电脑肯定没电, ...

随机推荐

  1. openEuler欧拉系统重置root密码

    步骤: 系统启动时,出现如下页面,按e进入内核编辑模式 进入如下页面 按下光标后,找到linux开头这一行,修改ro为rw,并在行尾添加init=/bin/sh,修改后效果如下,在crtl+x保存后开 ...

  2. ChatGPT生成测试用例的最佳实践(四)

    通常情况下还应该进行测试用例外部评审.将已完成的基于百度关键字搜索业务的功能和安全测试用例集的存放位置告知项目团队成员,需要预留出一定的时间,便于项目组研发.产品人员阅读,以免在项目团队测试用例评审会 ...

  3. 钉钉机器人发送信息shell

    #钉钉机器人发送信息shell 可作为shell函数模块调用,用于监控警报.jenkins发版通知等 微信API官方文档 https://ding-doc.dingtalk.com/doc#/serv ...

  4. Shiro安全框架【认证】+【授权】

    1.Shiro的核心架构 Subject:程序主体 Security Manager:安全管理器 Authentication:做认证 Authorizer:做授权 Session Manager:会 ...

  5. 【前端】display:inline-block中间的间隙

    父元素宽度800px 两个并列子元素宽度设为50%,并且使用了display:inline-block 结果一运行,两个元素不在同一行? 我查审元素,两个子元素div的宽度都是400,也没有边框,边距 ...

  6. 若依管理系统 -- 更换头像上传文件报错(/tmp/tomcat.8013579853364800617.8080/work/Tomcat/localhost/ROOT)

    一.错误情况 1.错误截图 二.错误解决情况 1.若依官方解答的链接 2.若依解答原文 1)原因: 在linux系统中,springboot应用服务再启动(java -jar 命令启动服务)的时候,会 ...

  7. 转载 Spring boot中配置事务管理

    一.注解的方式 1. 在Spring boot工程的主入口类中加入注解 // 开启事务支持 @EnableTransactionManagement 1 2 2. 在需要事务支持的服务类(class) ...

  8. 龙哥量化:注册simnow上期所的期货仿真模拟交易账户教程步骤

    永远顺着趋势交易 在技术分析这种市场研究方法中,趋势的概念绝对是核心内容.分析师所使用的全部工具, 诸如支撑和阻挡水平.价格形态.移动平均线.趋势线等等,其唯一的目的就是辅助我们估量市场趋势, 从而顺 ...

  9. Pod的优雅上下线

    Pod的优雅上下线依赖k8s的监控检查机制,以及 Pod lifecycle Hooks,通过这些kubernetes的机制,配合服务发现的流量管理机制,实现业务的优雅上下线. 基础概念 Pod 健康 ...

  10. Redis学习笔记之Jedis

    Jedis语法总结 Jedis是Java代码操作Redis的工具包,里面封装了操作Redis的方法 Jedis jedis = new Jedis(String ip , String port) 1 ...