学峰网论坛-查看贴子

发表新贴〗〖查看贴子〗〖关闭本页回主页


 发表新贴  回复贴子

 主题:老DOS回春新视窗实战技巧大全
xf
sz
QQ:000000
发表时间:2005-5-20 8:49:38   IP:218.18.15.222

主题:老DOS回春新视窗实战技巧大全
 
  许多人都说DOS成了昨日黄花,可微软偏偏在Windows 2000中还要加上了“命令提示符”,而且许多功能有增无减。笔者为此深入“敌后”,经过跋涉,在其中又找出一些DOS回春秘方,奉献给所有熟悉和不熟悉DOS的用户。

同类文件“斩尽杀绝”
  如果你想在“资源管理器”中删除一个文件夹或其下所有子文件夹以及里边的所有文件,那很好办。但如果从一个包含许多子文件夹和文件的复杂文件夹中删除一类文件(比如扩展名为TXT的一类文件),在窗口环境下会非常麻烦,但如果用命令提示行,那就简单多了,一个命令即可达到目的。比如:删除C:\MYDOC文件夹及其子文件夹下所有以TXT为扩展名的文件,只要键入:DEL /S C:\MYDOC\*.TXT
  以前DOS版本中的DELTREE外部命令已经下岗,但完全可以用这个内部命令来代替。另外一个叫做ERASE的命令同DEL的功能相同,你也可以使用它来完成相应的操作。

预备知识:
  ★DOS是英文Disk Operating System的缩写,中文意为磁盘操作系统。

  ★启动命令提示符环境:单击“开始”→“程序”→“附件”→“命令提示符”即可。另外还可以直接单击“开始”→“运行”,接着输入:CMD,回车后也能启动命令行提示符。

  ★使用命令提示符:按一定格式键入以字符组成的命令串,回车即可执行这一命令串。其中,键入字符串命令就好比是在 Windows桌面上选中图标,而回车就好比是选中图标后双击。

  ★自学命令:Windows 2000已经提供了详细的命令行帮助信息,你可以在进入命令提示符后,键入HELP,回车后可看到各个命令的列表与简介,而相应具体命令则可输入该命令,然后在其后加上/?,回车即可得到详细的使用帮助,比如:COPY/?。
文件列表轻松获得
  在“资源管理器”中可以比较容易地按文件名称、扩展名、文件大小、文件日期显示文件列表。但如何把列表保存下来,甚至打印出来呢?你可以采用抓图或使用相关软件的方法,但怎么也没有在命令行提示符中操作更简单:

  DIR 文件路径和文件名 /O分类标识 >list.txt

  其中的文件名可以用通配符来灵活筛选想要的一类文件。分类标识符有如下类型:N 按名称(字母顺序) 、S 按大小 (从小到大)、E 按扩展名(字母顺序) D 按日期/时间(从早到晚)、G 组目录优先、- 颠倒顺序的前缀。后面的>list.txt表示把生成的列表输出到一个文本文件 list.txt中。下面举例说明:

DIR C:\MYDOC\*.* /OE >list.txt 表示将〈C:\MYDOC〉文件夹下的所有文件以扩展名分类输入到一个名为list.txt的文本文件中。
DIR C:\MYDOC\*.TXT /ON >list.txt 表示将〉C:\MYDOC〉文件夹下的所有以TXT为扩展名的文件按文件名称排列的列表写入到一个list.txt文件中。
DIR C:\MYDOC\*.TXT /O-N >list.txt 同上,只是显示的排列顺序与上面一例相反。
如何获取长文件名列表
  如果文件夹下有许多以长文件名命名的文档,而我们又急需得到其下的文件列表,可以打开“资源管理器”,在要得到文件列表的文件夹内建立一个批处理文件如getlist. Bat,文件内容只有如下一行命令:DIR *.* /B >list.txt。双击执行该批处理文件就可以得到文件夹下所有文件的列表文件list.txt。其中的参数/B表示使用没有标题信息或摘要的方式显示文件列表,后面的>list.txt表示将文件列表输出到一个名为list.txt的文件中。

快速合并多个文本文件
  COPY命令可以将两个或多个文本文件合并成一个文件,当要合并数个文本文件,而不想用“记事本”反复打开复制、粘贴时,那么可以用它来快速完成任务。只要用: COPY file1+file2+…+filen newfile。该命令中,前面的file1、file2等是要合并的文件名,newfile是要生成的文件名。当然,对这个功能还可以使用通配符,如果一个目录中的文件都是TXT为扩展名的文件,就可以用命令:COPY *.txt newfile将它们合并成一个文件。不过提醒大家注意的是,这种方法只对文本文件有用,不能用于处理带格式的文件(比如:Word、Excel文件)或程序。

  COPY的其他妙用:COPY是一个比“资源管理器”的 “复制”更强大的DOS命令,充分利用它可以帮你节省相当多的时间,比如:

  C:\>COPY *.DOC *.BAK 表示将所有具有DOC扩展名的文件复制成具有BAK扩展名的文件,这个命令用做备份非常适合。

  C:\>COPY /B 文件名+,, 表示将某个文件的日期和时间重新设置成今天的日期和时间。

监视软件对注册表的更改
  想知道在新安装了一个软件后,自己的系统都发生了哪些变化吗?在安装新软件之前,将整个注册表导出至一个文本文件,打开“注册表编辑器”,选择“注册表”→“导出注册表文件”,利用“全部”选项,将结果文件保存为before. Txt(不要使用REG扩展名)。安装新软件或进行用户想跟踪的其他任何更改。打开“注册表编辑器”,再导出整个注册表,这一次将导出的文件命名为after.txt文件。接着打开“命令行提示符”窗口,转换到有那两个文本文件的目录中,然后执行以下命令:

FC before.txt after.txt > diff.txt
关闭“命令行提示符”窗口,在“记事本”中打开Diff. Txt文件,这里会显示在注册表所发现的所有不同之处。而 FC命令的功能就是比较两个或两组文件,并显示其不同之处。

快速了解已定义的扩展名
  许多朋友对各种各样的文件扩展名感到头痛,其实在 Windows 2000/XP中已经提供了这方面的命令,帮助你更好地了解和管理文件扩展名,它们就是:ASSOC和FTYPE。输入ASSOC不加上任何参数,会显示出目前已经定义过的扩展名。使用ASSOC .wav会显示.WAV文件的关联。输入ASSOC .wav=则会删除.WAV文件的关联。同样输入FTYPE不加上任何参数,会显示出目前已经定义过的扩展名类型内定是由哪个程序来开启的。FTYPE SoundRec会显示SoundRec这种类型是由哪个程序及命令打开。输入FTYPE SoundRec=则会删除这项设置。

  如果你要新增让LOG文件使用“记事本”打开,那么可以输入:

ASSOC .log=LogFile
FTYPE LogFile=%systemroot%\System32\notepad.exe %1
查看自己的共享目录
  当你共享了很多目录给局域网中的用户时,不知你是通过哪种方式来查看自己共享出来的目录?凭记忆?还是挨个打开文件夹查看?或者你是在“网上邻居”中找到自己的机器查看共享?但以上都不是最佳解决方案,最简单的方法是:在“命令行提示符”窗口中输入NET share,接着窗口中就会列出一份清单,显示你所有的共享目录。

快速粘贴文字
  首先,在其它程序窗口中通过“复制”功能复制文字,然后在“命令行提示符”窗口中用鼠标右键点击一下,文字就自动复制过来了。

  “命令行提示符”窗口也能输中文
  在Windows 2000的“命令行提示符”窗口中可以直接显示汉字,并可以按图形界面完全相同的热键直接调用系统中已经安装的各种码表输入法,如Ctrl+Shift切换输入法,Ctrl+Space切换输入法开关,Shift+Space切换全角与半角状态,Ctrl+.切换中英文标点等。

  有趣的Bug:在命令行调用任何一种中文输入法后,如果在全角、中文标点状态下输入一次……(可按Shift+^直接从键盘输入),再输入大写的任意英文字母或按Shift键输入某些特殊符号,则每个字符后面会自动添加一个…号,如 W…、%…等,不知微软此举是何用意?只能解释为是一个无关紧要的Bug。

自动填充命令
  在“命令行提示符”窗口中进行操作时,我们可通过设置打开点击Tab键自动填充命令的功能,方法如下:打开 “注册表编辑器”,找到[HKEY_CURRENT_USER\Software\ Microsoft\Command Processor],在右侧窗格中找到名为CompletionChar双字节值,将该键的值改为9(16进制)。现在进入“命令行提示符”,假如我们想列出C盘中〈Program Files〉文件夹,可输入DIR pro然后按下Tab键来让计算机自动填入命令,怎么样?有点神奇吧。

历史悠久的DOS
  1973年,第一个磁盘操作系统诞生,它被称做CP/M,是PC史上一个革命性的事件,也是70年代末、80年代初最有影响的8位操作系统。

  1978年在CP/M的基础上,SCP(西雅图计算机公司)开始开发QDOS,此后又研制出16位微型机的实验性操作系统86-DOS。与此同时,IBM公司即将推出的个人计算机急需配套操作系统,由于与CP/M拥有者的合作不太顺利,微软有了可乘之机,但时间紧迫,微软于是找到SCP,双方达成了由微软经销SCP的QDOS操作系统的协议。当时SCP公司并不知道他们的86-DOS(后经修改更名MS-DOS)将被转卖给蓝色巨人IBM,否则历史将会如何演变,谁也无法知晓。

  以86-DOS操作系统为基础,微软开发了MS-DOS 1.0版本,该操作系统在1981年和最早的IBM PC一起发布。随着IBM PC和MS-DOS的普及,CP/M逐渐从高峰走向下坡路,并退出历史舞台。

  MS-DOS操作系统从早期不支持硬盘、不支持分层目录的DOS 1.0,到包含很多Unix特性的DOS 2.0,到最为广泛流行的为支持IBM PS/2系列计算机而发布的DOS 3.3,到支持盘分区高达2GB的DOS 5.0,再到支持CD-ROM的DOS 6.22,以及后来隐藏在Windows 9x下的7.0版本,前前后后一共经历了20多年。

用XCOPY巧搬目录框架
  如果有一个结构很复杂的文件夹(也就是其中还有许多子文件夹嵌套),而且各级文件夹中还有许多文件,现在要把这个文件夹的目录结构复制一份,形成一个空的目录框架,在Windows窗口环境下是如何实现的呢?利用Windows 2000的XCOPY命令可以在“命令提示符”窗口下轻松完成这一任务。比如:
XCOPY C:\WINDOWS D:\TEMP /T /E
  该命令表示将C盘的<WINDOWS>目录结构复制到D盘的<TEMP>文件夹下,但不复制其中的文件。
  另外,利用该命令还有一个巧妙的方法复制一个空的目录框架。还是上面的例子,可以这样完成:
XCOPY C:\WINDOWS\88888888.888 D:\TEMP /S /E
  这里的88888888.888是指定的一个在原文件夹中并不存在的文件,而后面的参数/S是表示复制各级子目录但排除空目录,参数/E正好弥补/S参数的不足,将空目录也复制过来。由于88888888.888文件并不存在,所以XCOPY便不进行文件复制这一操作,只执行各级目录的复制。

  ★XCOPY比起COPY命令最大的优点是当拷贝多个文件时,它的速度更快。而且只要你喜欢,可以用XCOPY命令代替COPY命令。另外,该命令具有多变的选项。
  ★如果你想用XCOPY命令代替COPY命令,则可以用下面介绍的DOSKEY程序,首先建立一个COPY宏指令:
DOSKEY COPY=XCOPY $ *
  这个DOSKEY宏指令用XCOPY命令代替DOS的COPY命令。
备份文件好轻松
  如果希望只将某个结构较为复杂的文件夹及其下属子文件夹中作过修改的文件备份到指定文件夹下,而没有修改过的文件不备份,并且要求目标目录的结构与原文件夹相同,在Windows窗口环境下实现起来非常麻烦,但利用“命令提示符”窗口可以轻松办到。例如:要把2002年3月15日以后修改的位于<C:\MYDOC>文件夹及其子文件夹下的文件都备份到<D:\BACK>下,则可以用如下命令:
XCOPY C:\MYDOC\*.* D:\BACK /D:03-15-2002
  这里的/D:03-15-2002参数的意义是指定日期为2002年3月15日以后修改过的文件。
  如果每次只需备份当天改动过的文件,其他文件原封不动,则可以先把原文件夹中的内容完全复制到目标备份文件夹中,然后在每次工作完毕后使用如下命令进行文件更新备份:
XCOPY C:\MYDOC\*.* D:\BACK /D
  以上命令中的参数/D表示只复制那些原时间比目标时间新的文件。

快速获得目录结构和文件清单
  如果你要得到某驱动器或文件夹的目录、文件结构清单,可以在“命令提示符”窗口下使用TREE命令。举例如下:
TREE D: >DIRLIST.TXT
  这一命令的作用是获取D盘目录结构并存入一个DIRLIST.TXT文件中。再如:
TREE D:\WINNT /F >DIRWINNT.TXT
  其作用是获取D盘下<WINNT>目录结构及其文件清单信息,并存入一个DIRWINNT.TXT文件中。
  在这里我们可以使用两个命令参数:/F 表示显示每个目录中的文件名;/A 表示指定TREE使用文本字符而不是图形字符显示连接子目录的线条。

一次建立多级目录
  如果要在一个文件夹下建立8层目录,各层的目录名为MULU1/MULU2/MULU3…MULU8,你会怎么做呢?窗口环境下,只能用“新建文件夹”命令一个个地创建,还需要改成特定的文件夹名字。而今在Windows 2000的“命名提示符”环境下这一操作简直轻而易举:
MD MULU1\MULU2\MULU3\MULU4\MULU5\MULU6\ MULU7\MULU8
  就这样一条命令就可以建立各层文件夹,方便吧?!新视窗中老DOS的魅力就在于此。

一次创建多个目录
  如果要在一个文件夹下建立许多并列目录,在窗口环境下只能用“新建文件夹”命令一个个创建,还需要改成特定的名字。在Windows 2000的“命名提示符”窗口环境可简单实现:
MD 系统文件 驱动程序 音乐文件 游戏库 个人资料
  这样一条命令可建立<系统文件>、<驱动程序>、<音乐文件>、<游戏库>、<个人资料>等许多实用的文件夹,也许你不相信这一功能,同时在系统说明中也没有提到这一功能,但只要试一试就会喜欢上它了。

“宏”大师的“障眼法”
  DOS的同名内部命令要先于外部命令执行,也就是说,如果你建立了一个文件名为DIR.EXE的应用程序,其作用是屏幕保护,如果执行它,你将得到的是当前文件夹的文件列表,而不是预期的屏幕保护效果。其实,还有一位先于内部命令执行的“大师”,那就是“宏”。如果我们定义了一个名称为DIR的宏,那么,宏运行之后你再执行DIR就不会显示当前文件的列表了。例如:
DOSKEY DIR=你的电脑染上了病毒且文件即将会丢光!
  这个命令如果装入了自启动程序执行后,别人再使用DIR命令就会吓一跳。因为他本来想列出当前目录下的文件,而系统却提示“你的电脑染上了病毒且文件即将会丢光!”
  假如把上面的命令行改为:
DOSKEY DIR= (用Alt+小键盘上的255输入的空字符)
  那么当你执行上述操作后再用DIR显示当前目录下的文件,将得不到任何结果。你的感觉将可能是这样的一个错觉:当前目录下没有任何文件!
  利用上面的“障眼法”可以和朋友开个玩笑,当然也可以利用它有效地保护我们的一些以DOS方式运行的程序。

DOSKEY的作用
  DOSKEY其实是一个特殊的实用程序,可以使用户更好地控制命令行提示符,使用DOSKEY可以真正地编辑命令行,方便地重新执行老的命令。而该程序的另一个妙用便是创建宏,允许用户缩写长的DOS命令,从而令用户键入更方便。比如输入:
DOSKEY F=FORMAT A:
  回车后就创建了一个格式化A盘命令的缩写,这样以后只要在“命令提示符”窗口输入F,回车后即可开始格式化A盘。
  如果你想删除DOSKEY的宏,那么只需在等号后不打任何东西,键入DOSKEY、一个空格、宏名和一个等号即可。

藏起所有的同类文件
  假如我们的一个工作目录下有许多TXT文本文件,这些文件位于不同的子文件夹下,一时难以完全指定,又需要一下子把它们的属性都设置为“隐藏”。这时只需在Windows 2000命令行窗口中执行ATTRIB命令,并合理使用/S参数和H选项即可。例如,要将<C:\MYTXT>文件夹下的文件及其下的子文件夹中的TXT文件都设置为隐藏属性,可用如下命令:
ATTRIB +H C:\MYTXT\*.TXT /S

设置一批文件夹的属性
  在Windows 2000“命令提示符”窗口中执行ATTRIB命令时,后面带上/D参数即可一次完成其下所有文件夹的属性设置。例如,要将<C:\MYTXT>文件夹及其下的子文件夹都设置为隐藏属性,可用如下命令:
ATTRIB +H C:\MYTXT /D

借个目录当盘用
  如果你觉得自己硬盘里的文件夹太多,而又有一个经常要访问的文件夹,不妨可以把它做成一个虚拟的盘来用。比如你要把<C:\MYDOC>模拟成一个盘符G,你可以这样做:
  建立一个批处理文件,内容只有下面的一行:
SUBST G: C:\MYDOC
  然后建立一个该批处理文件的快捷方式,并把新建的快捷方式移动到系统的“启动”组。这样每次启动机器后,你的电脑里就多出来一个G盘。感觉就像是又多了一个分区一样。这样,每次处理你的重要数据就可以直奔目标G盘了。

从别人那里借块硬盘
  你不但可以借自己的目录当做一个虚拟硬盘分区使用,还可以在局域网中借别人的一个目录当做自己的一块硬盘使用。只要在“网上邻居”上让其他人为你开辟一个对于你来说完全共享的文件夹,然后使用右键菜单将它映射成你自己的一个盘符即可。

Temp下目录文件一刀切
  你想到过自己建立一个清空系统临时文件夹的快捷方式吗?下面是我的办法:
  到系统文件夹<Documents and Settings\administrator\ Local Settings>(因用户不同而异)下建立一个批处理文件,然后把这个批处理文件的快捷方式发送到桌面上。运行生成的快捷方式就可快速删除临时文件夹下的临时文件。批处理文件的内容如下:
RD /Q/S TEMP
MD TEMP

  由于微软增强了RD命令和DEL命令的功能,因此也把原来DOS下的DELTREE命令去掉了。从这个RD命令以及我们前面介绍过的DIR命令、COPY命令、XCOPY命令和DEL命令不难看出,Windows 2000环境下的命令行功能比起原来的老DOS可以说是有增无减,即便是减了,也是减掉了那些视窗环境下根本没有用的东西,而对于一些有用的命令,不但没有废除,恰恰相反,微软是把它们的功能发扬光大了。这正是:“老酒陈年香!”,“老DOS回春新视窗”。



 

E-mail  Homepage

贴子数:1 页数:1

1


 _ 目前有17人在线|访问统计|总访问次|Powered by学峰网Surfeon.net|联系 _