想必大多数办公的同志都有个习惯----往桌面上堆放文件,各种文件。几天下来桌面就杂乱无章,乱七八糟的。能做一个快速清理的功能,是很有实用价值的。比如采用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. Flutter之GetX之Obs

    Flutter之GetX之Obs 除了之前说过的GetBuilder,GetX还有其他的状态管理方式 一个后缀就可以把一个变量变得可观察,变量每次改变的时候,使用它的小部件就会被更新 var name ...

  2. kubeadm安装 k8s集群证书过期更新

    kubeadm安装 k8s集群证书过期更新 kubeadm版本 v1.18.8 #查看证书 #mast节点,查看所有证书 kubeadm alpha certs check-expiration #若 ...

  3. 聊一聊坑人的 C# MySql.Data SDK

    一:背景 1. 讲故事 为什么说这东西比较坑人呢?是因为最近一个月接到了两个dump,都反应程序卡死无响应,最后分析下来是因为线程饥饿导致,那什么原因导致的线程饥饿呢?进一步分析发现罪魁祸首是 MyS ...

  4. 【C#】【报错解决】分析器错误消息: 无法识别的属性“targetFramework”。请注意属性名称区分大小写。

    服务器:Windows Server 数据中心 2016 问题描述: 在本地测试正常运行,但是上传到服务器却出现该错误 报错: 分析器错误消息: 无法识别的属性"targetFramewor ...

  5. IDE提交Git出现husky>pre-commit错误

    若使用IDE提交Git出现以下错误: 则是ES6在提交校验过程中出现了问题,强制提交方式为: 命令行: git commit --no-verify IDEA: 在提交时取消勾选Run Git hoo ...

  6. 使用Apache commons-pool2实现高效的FTPClient连接池的方法

    一. 连接池概述​ 频繁的建立和关闭连接,会极大的降低系统的性能,而连接池会在初始化的时候会创建一定数量的连接,每次访问只需从连接池里获取连接,使用完毕后再放回连接池,并不是直接关闭连接,这样可以保证 ...

  7. unsupported message type: DefaultFullHttpResponse (expected: ByteBuf, FileRegion) 原因以及解决办法

    使用netty做http服务器的时候 用android链接 会出现这个错误 原因是http-aggregator顺序有问题 (ps:目前大部分国内博客都是这个排序有点坑爹): 官方文档说明:For c ...

  8. Markdown转Beamer

    技术背景 在早期我写过一些文章介绍用RMarkdown写Beamer,还有相应的TinyTex配置.后来Xie Yihui大神发文离开了RMarkdown核心团队,想来中文社区的支持力度和活跃度可能会 ...

  9. P10952 聚会 题解

    题目链接 题目大意 对于一棵树,求出一个点对于给定的三个点(以下简称 $x$,$y$,$z$ 且可以重复)距离最短. 题解 对于点的距离,不难想到 LCA 处理.而对于本题,则有两种情况. 第一问 三 ...

  10. ubuntu18.04安装g2o

    先对g2o的依赖库进行安装: sudo apt-get update sudo apt-get install libeigen3-dev sudo apt-get install libsuites ...