dos.bat 批处理文件的应用——批量压缩

转载 2011年01月22日 12:59:00

我经常在电脑上看漫画,自从用了MangaMeeya后,通常都把下载下来的漫画压缩为rar文件。这样有几个好处,一是节省空间,二是在电脑中,对一个文件的处理速度要快于多个文件,复制粘贴就是一个例子,很多人应该都是感受,明明所复制的文件容量不大,只是数量很多,速度却比容量大一些,数量少的时候要慢。删除也是,我在重装后删除以前留下的matlab时,光是准备就要很久。而我那有几十G的下载文件夹,却两三秒就删干净了。

  下载漫画一般除了个verycd上直接下载的压缩文件,就是使用MangaDowner,它下载下来的是图片。以前我下载的漫画不多,压缩倒也不麻烦,前段时间把以前下载的漫画和新下载的漫画放在一些,发现未做成压缩文件的有很多。我通常用一个文件夹放一卷,现在有几百个文件夹,我要把一个文件夹做一个压缩文件(太多图片压缩在一起也会影响MangaMeeya的读取速度)。这要是一个个压缩真得点鼠标点到手抽筋了。比如说,我要把左图的文件夹变成右图的rar文件。

批处理文件的应用鈥斺斉垦顾批处理文件的应用鈥斺斉垦顾

  于是我从网上找批量压缩用的软件,倒是找到了,不过试用了才发现是用来将一个文件同时添加到多个压缩文件中用的,不是我需要的功能。继续搜索此类软件但还是没有找到。我就想到了用DOS命令行来批量压缩。

  我只是感觉用DOS命令行可以,但不知道怎么做。于是又搜索教程,这网上倒是很多,学起来也很快,我很快便搞定了。现在总结一下方法。

  因为以后会经常使用,所以创建一个bat文件。可以新建一个txt文件,将扩展名改为bat就行。

  右键点击bat文件,选编辑。输入下列文字。

@echo off
FOR /D %%C IN (*) DO (
rar a %%C %%C
if errorlevel 0 rmdir /s %%C
)

  保存,将这个文件和要压缩的文件夹们放于同一目录,运行即可。(注意!前提是将winrar安装文件夹加入环境变量。如果不会添加环境变量,就将这句话里的rar改为path/rar.exe,其中path是winrar的安装路径,如C:/Program Files/WinRAR/rar.exe a %%C %%C,请务必保证这个命令存在,否则即使没压缩也会删掉文件夹,我懒得写一个更安全的bat文件了.....)

  对以上命令的解释:

  第一行的@echo off 没有太大作用,只是让下面的命令执行时不在窗口上显示。

  第二行的FOR就是重点了。FOR大家都知道,和C语言等编程语言一样,是循环。/D %%C IN (*)表示遍历所有的文件夹(不包括子文件夹)。如果没有/D则是遍历所有的文件(不包括文件夹)。%%C里的C是个循环变量名,就像C语言里常用的i一样,它可以是任意字母,但只能是一个字母,两个%不可少。IN (*)里的*表示所有,是通配符,这里可以打文件名,比如我们要压缩以乌龙开头的文件夹,就可以写成IN (乌龙*)。DO后括号里的语句就是循环体了。

  rar是一个命令,我们可以在winrar的安装文件夹里找到rar.exe程序。如果不会添加环境变量,就将这名话里的rar改为path/rar.exe,其中path是winrar的安装路径。rar命令(因为是rar.exe,称为程序也行)后的a是参数,表示创建rar文件。后面跟了两个%%C,第一个是创建的rar文件的名字,第二个是被压缩的文件的名字。这一行的意思就是将一个文件夹压缩为与它同名的rar文件。

  事实上这时候我要的功能已经实现了,但压缩完了以后又有一个问题,就是原来的图片还是要删掉的,不然留着占不少地方。虽然在windows下删除多个文件夹很方便,但能省事岂不更好。于是就有了下一句。if errorlevel 0是判断上一个命令(在这里就是rar.exe)的执行结果是否是0,我从rar的帮助中查到,执行结果返回0则表示压缩成功。rmdir是删除文件夹的命令,/s表示除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。如果再加上/q,就表示不提示,没有/q的话,每次删除都会询问是否确定删除。这一行的意思就是如果压缩成功,就删除被压缩的文件夹。

  下面是运行时候的截图,运行完这个窗口自己就关闭了。

  通过这次学习批处理命令,我深深感觉到它的方便之处。目前windows的缺点便在于不能随意定制命令或功能。批处理在一定程度上解决了这个问题。

使用dos批处理文件(.bat)(转)

使用dos批处理文件和dos批处理文件的意义 后缀是bat的文件就是批处理文件,是一种文本文件。简单的说,它的作用就是自动的连续执行多条命令,批处理文件的内容就是一条一条的命令。那它有什么用呢? ...

Dos批处理文件Bat的编写

最近由于工作的原因,总是需要些一些命令行下的批处理文件,这些扩展名为".bat"的文件,是从Dos时代一路传承下来的,所以我们总是喜欢叫他bat文件。从上大学的时候,一直用bat做一些小的东西,从来没...
  • baokx
  • baokx
  • 2013年06月20日 17:39
  • 427

DOS批处理文件BAT的编写

转自:http://www.cnblogs.com/abdias/archive/2008/03/19/1113408.html 最近由于工作的原因,总是需要些一些命令行下的批处理文件,这些扩展名为"...

Wondows dos下怎么编写bat批处理文件

最近搞php,在运行时,以Nginx+php-cgi.exe方式运行Wordpress项目 打开dos,先cd到php-cgi.exe文件当前目录下 执行启动命令:E:\0Develop\php\ph...

windows xp 使用bat文件DOS批处理文件设置网络地址为固定或者动态获取

有时候需要来回切换网络的IP地址为静态或者自动获取,很麻烦,只知道linux上可以写shell文件来批处理,原来windows上也可以写批处理文件。 从网上找了找,还真有,挺方便的。这里是设置无线网...

Dos批处理文件Bat的编写.txt

  • 2010年07月25日 16:07
  • 5KB
  • 下载

DOS批处理文件BAT教程

  • 2009年10月24日 12:53
  • 281KB
  • 下载

批处理文件(bat文件)注册dll批量注册dll

有时候用电脑的时候遇到由于DLL文件丢失或损坏而造成的种种故障,大家都只知道只要重新注册一下DLL文件就可以了 但是对于新手来说即使知道是DLL文件损外,但是不知道是哪个DLL文...

.bat批处理文件格式运行JAVA应用程序

当我们以运行JAVA运行程序时(含用MAIN()方法的类),可以写一..bat格式的批处理文件,以便双击该文件即可运行JAVA应用程序, 主要是在文件中编写 java 你的主类(含用MAIN()...

BAT批处理文件简单应用

批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。批处理文件的扩展名为bat 。目前比较常见的批...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:dos.bat 批处理文件的应用——批量压缩
举报原因:
原因补充:

(最多只允许输入30个字)