想必大多数办公的同志都有个习惯----往桌面上堆放文件,各种文件。几天下来桌面就杂乱无章,乱七八糟的。能做一个快速清理的功能,是很有实用价值的。比如采用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. P6474 [NOI Online #2 入门组] 荆轲刺秦王 题解

    荆轲将会臭名昭著 首先 $15$ 做法很简单,那就是直接 `cout<<-1` 考虑用 BFS 来解思路很简单,但是怎么求每个士兵的控制范围呢? 直接暴力时间复杂度是 $O(nma^2)$ ...

  2. LeetCode题集-9 - 回文数

    题目:给你一个整数 x ,如果 x 是一个回文整数,返回 true :否则,返回 false . 回文数 是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 例如,121 是回文,而 123 不 ...

  3. 笔记-AM的正交解调法

    1.AM的模拟调制过程 ​ AM信号是一种振幅调制信号,其携带的信息保存在其信号的振幅中,通过改变载波的振幅来实现基带数据的传输. 其函数表达式如下: \[s(t) = (A + m(t))*cos( ...

  4. 使用JSch进行sftp的连接运行状况检查

    public boolean checkConnection() throws JSchException { try { JSch jsch = new JSch(); Session sessio ...

  5. Qt/C++音视频开发48-推流到rtsp服务器

    一.前言 之前已经打通了rtmp的推流,理论上按照同样的代码,只要将rtmp推流地址换成rtsp推流地址,然后格式将flv换成rtsp就行,无奈直接遇到协议不支持的错误提示,网上说要换成rtp,换了也 ...

  6. Qt音视频开发27-ffmpeg视频旋转显示

    一.前言 用手机或者平板拍摄的视频文件,很可能是旋转的,比如分辨率是1280x720,确是垂直的,相当于分辨率变成了720x1280,如果不做旋转处理的话,那脑袋必须歪着看才行,这样看起来太难受,所以 ...

  7. Qt开发经验小技巧171-175

    在Qt编程中经常会遇到编码的问题,由于跨平台的考虑兼容各种系统,而windows系统默认是gbk或者gb2312编码,当然后期可能msvc编译器都支持utf8编码,所以在部分程序中传入中文目录文件名称 ...

  8. Qt编写安防视频监控系统61-子模块5设备控制

    一.前言 设备控制模块,和云台控制模块都是用的onvif协议通信,可以对选中的通道的摄像机(ONVIF协议),进行获取参数.设置参数.手动校时.重启设备.抓拍图片.模拟报警等操作,可以对摄像机的明亮度 ...

  9. 在线标定新思路!SST-Calib:最新Camera-Lidar时空同步标定算法(ITSC 2022)

    在线标定新思路!SST-Calib:最新Camera-Lidar时空同步标定算法(ITSC 2022) 论文链接: 链接:https://pan.baidu.com/s/1qsfml4THs26Y7b ...

  10. SQL统计数据之总结

    一.查询SQL SELECT t1.规则编号 AS 编码, t1.规则描述 AS 名称, SUM( CASE WHEN t3.DATA_SOURCES = '00' THEN 1 ELSE 0 END ...