发新话题
打印

[转载]DOS命令八大经典案例

[转载]DOS命令八大经典案例

  信息来源:it.tzinfo.net

     DOS已逐渐远去,我们每天都习惯地使用着Windows 98/Me/2000/XP,可是你了解Windows中的DOS吗?其实在有些时候DOS还是比Windows要方便快捷得多,毕竟这个是操作系统的经典之作。下面就笔者在使用DOS过程中摸索的技巧总结成八大案例来说明一下,希望多多少少能对读者在使用电脑的过程中有点启发和帮助。
  案例一、“FC”—文件对比

  众所周知,在安装软件时,一般会在注册表中或多或少留下点什么,时间一长就会有大量的垃圾留在里面,让我们的系统逐渐变慢直至崩溃。诚然现在有很多好用的工具可以帮我们解决这个难题,可是如果我们想知道它们究竟在注册表中留下了什么,而手头又没有合适的工具,难道就束手无策了吗﹖等等,我们请出DOS下最方便的比较工具——“FC”

  格式:FC [path]<filename>[path]<filename></b>

  使用方法:首先在安装软件前把注册表导出为一个文件如:“1.reg”,在安装软件后再导出为一个文件如:“2.reg”。这两个文件假设都放在C盘根目录下。我们进入MS-DOS方式输入“C:\fc 1.reg 2.reg”回车。看到了没有?屏幕上显示的正是注册表被改动的地方。

  注:FC默认逐行比较两个文件。文件中每一行的长度应小于256个字符,如果行长超过256个字符或者比较对象是二进制文件或程序文件,应在后面加上/b参数,FC将对它们逐字节比较。

案例二、“>”—定向输出

  我们接着上面的案例。有的时候我们在用上面的方法时发现屏幕不停地往上滚动,好多信息一闪而过停都停不下来,这种情况是由于两个文件相差太大的缘故,文件被改动的地方太多了。怎么办呢﹖别着急,这时候我们要用到另外一个小技巧——使用定向输出“>”

  格式:命令(或程序)>定向输入设备(或文件名)

  使用方法:我们还用上面的例子,在DOS下输入C:\fc 1.reg 2.reg >change.txt回车。

  怎么什么信息都没了啊。其实你仔细看一下就会发现在该目录下多了一个FC.txt文件,快用写字板打开它啊,里面可是放着这两个文件的全部比较信息呀:)so easy 吧。

  注:你可以把它输出为任何格式的文件,它们都可以以文本方式打开。

  案例三、“copy”—文件合并

  有很多时候网上把视频文件分割成好多小段让大家分别下载,可是下载好的文件在看的时候又老是不停地要打开,那么有没有什么办法让它们重新合并成一个整的文件呢?用专门的视频编辑工具固然可以,可是那繁琐的E文让我辈头痛。其实DOS下就有现成的工具,用我们常用的“copy”命令就可以完成,让我们来看看吧。

  格式:copy /b <filename1>+<filename2>+…+<filenameN>>filename>

  使用方法:假设你的硬盘有两个文件分别是video1.mpg 和 video2.mpg 那么我们在该目录下输入“copy /b video1.mpg+video2.mpg video.mpg”就可以了,其中video.mpg是你合并后生成的新文件名。赶紧试一试,打开播放器看看是不是拼合好了。

  当然,你喜欢的小说、音乐,如果嫌不停地打开关闭太麻烦,不妨试试这个方法把它们合并在一起观看。

  案例四、“copy”—批量重命名

  一个朋友要做项目需要把一系列文本文件按编号重新命名,可是由于数量实在太多,在Windows中一点点地改太麻烦了,头都大了:(有没有简单一点的方法呢﹖)好多杂志上介绍了好多工具和方法来实现这个,可是我觉得都比较麻烦。其实我们把DOS命令和回收站结合使用就可以完成批量改名。

  使用方法:假设E盘上有大量要改名的文件,那么首先把它们弄到回收站里!(切记!仅仅只是删除,不要清空回收站啊,文件丢了我可不负责!),然后我们进入MS-DOS模式下的E盘,在根目录下输入“cd recycled”进入回收站,dir看看,是不是所有的文件名都改变成有顺序的了:)接下来我们把它们都给拷贝出来。输入“copy *.* e:\”哈哈,返回Windows去看看吧是不是所有的文件都为DE1、DE2……了。

  注:1.删除之前要先清空“回收站”,否则文件将有可能从未知数字基数开始。

  2.在哪个盘删除的就进入哪个盘的recycled文件夹,别的盘里没有对应文件的。

  3.文件名被修改后命名格式为DX1,D是固定的表示DISK,X是对应你的盘符,如果是在F盘就是DF1,如果是D盘就是DD1,依此类推。

案例五、“copy”—改文件日期

  某同事因为工作需要要修改文件的日期,在Windows中忙乎了半天也不知道该怎么改:(难道我们真的只能求助于专用工具了吗?其实不然,同样是使用copy命令就可以轻松完成:)

  格式:copy <filename>+

  使用方法:假设我们要修改的文件是redate.dat文件,它在C盘,那么我们首先进入MS-DOS方式,在C盘下输入“copy 123.dat+,,”(注:加号后面紧跟2个逗号)回车后系统会询问你是否覆盖?这时键入“Y”即更改为当前日期,是不是非常简单啊?

  案例六、FDISK—修复引导区

  同事今天开机突然发现系统无法启动,屏幕提示“No System,System Halted”其实根据提示我们可以知道,问题肯定出在硬盘的引导区上。这种情况一般是引导记录损坏或被病毒感染,或是分区表中无自举标志,还有可能是结束标志55AAH被改写而造成的。

  格式:fdisk /MBR

  使用办法:用DOS引导盘启动电脑,在提示符下执行“FDISK /MBR”命令。FDISK中本身就包含有主引导程序代码和结束标志55AAH,这一招对于修复主引导记录和结束标志55AAH既快又灵,而且不用担心会损坏任何硬盘上的文件!

案例七、“ping”—查看是否连线

  在网吧上网时服务器突然断线,网管在解决故障,看他忙得满头大汗我们都不好意思问“什么时候可以通”。可是总不能打开个网页不停按刷新吧,这个时候用一个简单的DOS命令就可以在最短的时间内检测出什么时候能连上线了,而且还不用那么费事:)

  格式:ping <count name> -t

  使用方法:在MS-DOS模式下执行“ping www.XXX.com -t”就可以啦:)你可以看到屏幕不停地上滚,如果是通的话就会显示“Reply from xxx.xxx.xxx.xxx: bytes=32 ……”的信息,否则就显示“Destination host unreachable”。这样你就可以一边干别的一边在第一时间知道什么时候网络是通的啦。

  案例八、“debug”—破解COMS

  朋友的品牌机CMOS被他无意中锁住了,怎么办呢﹖这时候你也许会说打开机箱给电池放电不就行了吗。可是品牌机如果拆了机箱多半保修的问题就泡汤了。其实DOS下有个非常好用的工具来解开这个密码——DEBUG。由于这个是个工具,它实在太博大精深了,所以没法给出格式。不过可以跟着我一步步地做,咱们不学太多,只就事论事不就成了。

  启动系统后进入DOS模式,如果是Windows Me(XP)则用启动盘启动,在DOS下输入以下指令:

  debug
  -o70 21
  -o71 20
  -q

  好了,咱们重新启动电脑看看是不是已经解开了:

  关于案例分析咱们就先说到这里了,虽然DOS已经落伍淘汰离我们远去了,可是当你的系统出现蓝屏时、当你的系统崩溃时、当你对一些问题的解决觉得烦琐时,也许DOS能给你最好的答案。

  说明:以上各方法均可在微软任何操作系统环境下使用,所有外部程序在Windows 98的启动盘中均可以找到。
别人说啥就是啥啊???

TOP

Copy 命令是可以完成文件捆绑的
比如把1.txt  2.txt  3.txt 捆绑生成一个文件 4.txt
可以在命令行下输入:
copy /b 1.txt+2.txt+3.txt 4.txt
效果很好

TOP

从第一次使用电脑,我就喜欢上在命令行下操作电脑(其实是我太迂腐,习惯了的东西不想改变),下面跟大家一起分享瑞士军刀——debug。
【转贴】
原文来自:电脑爱好者(杂志)

豪华绚丽的windows让人们把DOS抛到遥远的记忆角落。然而,真正有价值的东西不会轻易退出历史的舞台。debug就是这样的经典作品之一。从古老的DOS到现金的windows XP,debug一直紧紧跟随着微软的操作系统,静静躺在系统文件夹里。也许你平时对它不闻不问,但要想成为人人羡慕的系统高手,我们就得唤醒这个沉睡已久的命令行工具了,通过阅读本文对它的研究,闲心你也会感觉到:姜,还是老的辣!

一、寻根溯源:世界第一只计算机bug(如读者赶时间,请跳过这段)

  霍德华·艾肯在哈佛大学攻读物理学博士学位时,开始梦想制作一台计算机帮他解决数学难题。工作后,他找到IBM公司为其投资100万美元研制计算机,艾肯把第一台成品取名为马克1号,又叫“自动序列受控计算机”。从这时起,IBM公司由生产制表机、肉铺磅称、咖啡研磨机等产品,正式跨进了计算机“领域”。

  1945年9月9日,为妈克11号编制计算程序的女数学家格雷斯·霍波在调试程序时出现了故障,拆开继点器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是霍波把这只飞蛾粘在了计算机的工作日志中,边诙谐地把程序故障统称为“臭虫”(bug),自此以后,只要这台计算机一停止运行(那时侯是经常的事),同事们就会开玩笑地对霍德华说,我们正在“debug”(除虫)呢!后来“bug”成为计算机领域的专业行话,如DOS系统中的调试程序,程序名称就叫debug。

  目前那只飞蛾还保存在美国史密森尼博物院的美国历史国家博物馆中。

  1981年,第一个PC DOS(即DOS 1.00)面世时就已经带上了debug.com。不过,到目前为止,debug一直没有大的变动——当然,这是指debug提供给用户的功能,debug本身代码、内部运行机制必然随着操作系统的变化而不断改变。然而,无论是windows 98、2000还是XP,debug的操作方式与纯DOS环境下基本一样。

二、出血乍练:短短几行命令学用debug

  debug.exe文件位于windows\system32目录(XP)或windows\command(9X)下。基本使用方法如下:

step1.进入命令行下,输入“debug”并回车,出现提示符“—”,现在你已经开启了神秘的debug世界了。你可以执行“?”命令参看debug的主要命令几参数。

step2.输入“D  FE00:0”回车后可以看到结果,这是主板BIOS的厂商信息。接着再输入“D  FFFF:5  L8”,回车后,主板的BIOS版本日期也出来了。

step3.现在再输入“Q”命令,回车后就退出了debug程序。

三、继续深入:debug经典实例秀

  在操作以下实例之前,提醒您要注意操作安全,因为debug命令有一定风险,如果输入错误,有可能对系统造成一定破坏,这点请您一定注意。

  实例1:查看你的显卡信息

  输入“D C000:0090”命令并回车,这时右侧部分可以看到系统中显卡的显存、生产厂商等信息。

  实例2:制作BIOS密码破解器

  忘记BIOS密码,一般都采用放电法来清空密码,但这对普通用户有一定难度,并且还得开机箱。其实利用debug的O命令则简单得多!请在“—”后输入以下命令:

o 70 19

o 71 15

q

重启电脑,系统提示CMOS校验和出错,并要求重新进入BIOS设置CMOS。

【小提示:70和71是CMOS的两个端口,我们可以在它们的后面随意写入一些错误数据(如19、16、17等——,就会清空CMOS里所有设置,如果不见效不妨多用几个数据试试。】

  如果觉得每次输入debug命令麻烦,可以用下面的方法把命令存成COM文件,需要解除密码时只要运行一下就行了。请在debug中命令提示符“—”后输入以下命令:

A 100

MOV  DX,70

MOV  AL,10

OUT  DX,AL

MOV  DX,71

MOV  AL,01

OUT  DX,AL(这里要两次回车,接着会出现“—”,然后再输入下面的命令)

R  CX(回车后会出现“CX 0000”,然后再次按回车)

OC

N pass.com

W

Q

这样就会在debug当前目录下生成pass.com,是一个清除BIOS口令设置的程序。

  实例3:用debug恢复windows 98启动

  在同时装有windows 98和windows 2000的电脑上,有时在windows 98下整理C盘的磁盘碎片后(假设windows98装在c盘),下次很可能启动不了98。这时必须重新生成bootsect.dos(此文件是用来引导windows98的)。windows 98才可以重新引导。可以用debug生成bootsect.dos文件,先用软盘启动到DOS状态:

C:>Debug

L  100  2  0  1

N  BOOTSECT  (BOOTSECT 表示windwos 98引导记录的文件名)

RCX

CX  0000
200

W

Q

现在将C:\BOOTSECT改名成BOOTSECT.DOS,覆盖原来的BOOTSECT.DOS即可。

  实例4:做个死循环炸弹玩玩

  所谓死循环,实际上是编程的一种失误,使程序反复执行同样指令,造成软件死琐。利用debug,我们可以做一个小小的死循环。输入:

a  100

mov  dl,1

mov  ah,2

int  21

inc  dl

jmp  102(按两次回车)

nboot.com

rbx(接着按两次回车,可能会出现出错信息,不要管它,再输入一遍即可)

rcx

a

-w

好了,现在可以在DOS下面执行生成的boot.com了。试试效果吧。同时按ctrl+break或ctrl+c可以强制停止。如果是在windows下,强制退出即可,不过PC喇叭的声音可能得过段时间才能停下来。

四、硬盘救命稻草:用debug玩转磁盘

  特别提醒:由于以下操作非常危险(可能丢失硬盘全部数据),所以建议你三思而行,并且最好在电脑中只挂接要操作的硬盘,以免误操作了其他硬盘。

  实例1:清除硬盘驱动器的所有信息

  本来清除硬盘信息用Fdisk便可以轻松搞定,可如果当你碰用fdisk命令无法删除分区信息的情况,甚至是一运行fdisk就死机,那么就不得不求助于debug了。通过命令,可以清除硬盘上的所有分区信息(注意:以下命令中,黑体字部分是需要输入的,非黑体字部分为自动返回的信息)。

C:\>Debug

F  200  L  1000  0

A  CS:100

xxxx:0100  MOV  AX,301

xxxx:0103  MOV  BX,200

xxxx:0106  MOV CX,1

xxxx:0109  MOV  DX,80  (注意:80代表主盘,81代表从盘)

xxxx:010C  INT  13

xxxx:010E  INT  20

xxxx:0110

g

Program  terminated  normally

q

以上程序执行完毕后,重启电脑,此时硬盘的分区信息都已经被清除,我们便可以使用fdisk为硬盘进行重新分区,然后格式化即可正常使用了。

  实例2:删除所有分区

  如果想快速删除所有分区,那么可将以下命令保存到一个文本文件中(比如:redraimenet.txt):

a  100  int13rax

0301

rbx

0200

f  200  1  200 0

rcx

0001

rdx

0080

p

q

然后在纯DOS(比如用启动盘启动系统)中执行“debug<redraiment.txt”即可。

  实例3:拯救软盘数据

  一分钟前打得开的软盘,一分钟后就说“该软盘没有格式化,要格式化么?”但这里面却偏偏保存着重要数据,其实出现这种情况往往是软盘的0面0道1扇区逻辑损坏的原因。这时可以试试以下方法:

step1:将一张好的软盘插入软驱。

step2:执行debug,并在提示符后输入以下命令:

L  100  0  0  1

将好的软盘取出,插入需要恢复的软盘,再输入以下命令

W  100  0  0  1

不过,如果0面0道1扇是物理损坏,debug会告诉我们不能写盘,这时,你只能在尝试HD-COPY等工具软件了。

  实例4:低格硬盘

  方法一:完全低格

-a  100

mov  ax,0703

mov  cx,0001

mov  dx,0080

int  13

int  3

010D

G  100

提示:有些主板的BIOS中已经存放着低格程序,因此可以直接用debug来调用,命令为“g  c800:0005”。另外,本技巧对于大容量硬盘可能不适合。

  方法二:快速低格

-a  100

mov  ax,0500

mov  bx,0180

mov  cx,0001

mov  dx,0080

int  13

int  3

E  0180  0  0  0002

G  100

格外奉献:

windows 2000/XP的debug模式

  打开启动分区的“boot.in”文件,接着在“multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft  Windows  2000  professional" /fastdetect”语句后面加一个空格,然后再输入“/DEBUG”,在启动windows 2000/XP时调入系统中除错程序,它可以在任何时间激活,这个参数可以用来解决有规律发生的错误。

  如果换为“/CRASHDEBUG”,那么在系统核心没有发生错误之前不会生效,如果遇到随机的内核错误,它就会帮你除错了。

TOP

发新话题