在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
DOS技巧100例 来源:http://www.cn-dos.net/forum/viewthread.php?tid=23999&fpage=0&highlight=&page=1 tianzizhi 2006-10-20 18:36 1、*.*的简写 *.*可以用.代替,例如,删除当前目录中的全部文件∶ DEL. 2、返回父目录即上级目录 CD.. 3、把目录文件的列表存入文本文件中 DIR>filename 4、查看当前目录下任何属性的文件 方法一∶DIR, 方法二∶DIR/A 5、取消当前目录下所有文件的所有属性(实际上只能查看属性而不能取消-jm注) ATTRIB, 若在C盘根目录下执行此命令,再用DIR来查看,可以看到IO.SYS、MSDOS.SYS等隐含文件 6、显示当前目录下的所有子目录名 DIR/AD 7、连续显示多个文件的内容 COPY *.* CON 8、分屏显示文件内容 方法一∶MORE<filename 方法二∶TYPE filename|more 9、改变磁盘文件的注册时间 方法一∶COPY filename+NUL 方法二∶COPY filename+,, 10、如何屏蔽DOS行的输出信息? 方法是将屏幕输出重定向到DOS空设备NUL,例如∶ COPY MYPROG.EXE A:>NUL 11、在DOS状态下直接显示用D方式编辑的WPS文件内容 COPY filename.wps CON/B 12、向文本文件中追加数据 方法一∶COPY filename+CON 方法二∶TYPE CON>>filename 输入完毕后按F6或Ctrl+Z键结束。 13、键盘指法练习或汉字输入练习的简易屏幕 COPY CON NUL 14、直接打印键盘输入的内容 方法一∶COPY CON PRN 方法二∶MORE>PRN 方法三∶SORT>PRN 输入完毕后按F6或Ctrl+Z键。 15、DOS下直接编辑生成文件 在没有任何编辑软件(如EDLIN、EDIT等)的情况下,可临时用以下六种方法从键盘编辑生成文件,当文件内容输入完毕后,按F6键或按Ctrl+Z键存盘退出∶ 方法一∶COPY CON filename 方法二∶TYPE CON>filename 方法三∶MORE>filename 方法四∶SORT>filename 方法五∶FIND"XXX"/V/N>filename 方法六∶SORT|FIND"XXX"/V/N>filename 方法四、五、六均有特殊用处,读者不妨一试。 16、零字节文件的生成 方法∶TYPE NUL>filename 上述方法常用于处理需保密的磁盘文件,起到删除文件内容的作用,内容被删除后一般不可恢复。 17、对零字节文件的拷贝,不能用COPY命令,只能用XCOPY命令。 例如∶XCOPY filename1 filename2 18、目录中的所有文件和子目录的复制 XCOPY 目录名.驱动器号:/S 19、如何正确使用COPY 和XCOPY命令? ●将若干个文件联结成一个文件时,应使用COPY命令。 ●拷贝小于64KB的单个文件,使用COPY命令。拷贝大于64KB的文件,应使用XCOPY命令。 ●拷贝多个文件应使用XCOPY命令。 ●拷贝子目录中的内容,应使用XCOPY/S命令。拷贝一批文件到软盘,应使用XCOPY/M命令。 20、什么时候用XCOPY命令的/D开关项? 有时候需要从某个目录中"选出"从某一天开始建立或修改过的文件,并将它们备份,此时可使用XCOPY/D命令。例如,下述命令可以把C∶目录下那些在1996年7月1日以后建立或修改过的文件拷贝到A盘∶ XCOPY C:*.* A:/D:07-01-96 21、单软驱复制软盘 有的PC机只装有一个软驱,这个驱动器既当A盘又当B盘使用,如果要在这样的系统上进行软盘复制,使用下述的XCOPY 命令∶ XCOPY A: B: 22.整理软盘中碎块,提高使用效率 一张软盘经过多次建立和删除文件操作后,某些文件记录会以不连续的形式存放在软盘空间中,造成软盘空间产生许多碎块,影响软盘的读写操作性能,严重时可导致读写故障。 解决以上问题可使用COPY命令进行整盘拷贝,则新盘上的文件保持连续存放。 23.将多个文件连续拷入多张软盘。 首先,用ATTRIB命令设置每一文件的文档特性∶ ATTRIB+A *.*/S 然后使用XCOPY命令,在软盘装满后插入新盘,根据文档特性决定哪些文件需要拷贝,哪些不拷。 XCOPY *.* A∶/S/M/W 24.使用TYPE命令"拷贝"文件 拷贝文件通常使用COPY命令或XCOPY命令,其实,TYPE也有"拷贝"文件的用途∶ TYPE filenamel>filename2 这种方法对于拷贝隐含文件非常有效。例如∶TYPE IO.SYS>A∶IO.SYS 25.以小写方式显示文件或目录 DIR/L 26.只显示文件名与子目录名,不显示文件大小和生成时间等信息 DIR/B 27.使DIR总是按文件名的字母顺序来显示文件 在AUTOEXEC BAT中加入下述命令即可∶ SET DIRCMD=/O 28.列当天创建的文件目录 若想知道当天(如1996年10月21日)建立了多少文件,可用下述命令列出∶ DIR|FIND"10 21 1996" 29.若不希望别人使用DIR命令进行目录文件列表,有什么方法呢? 方法一∶DOSKEY DIR=You can not use DIR! 方法二∶在AUTOEXEC BAT中加入命令行∶SET DIRCMD=0 此命令的功能是在用DIR命令来显示文件时,只显示"File not found",能起到暂时保密的作用。若想显示文件及目录,只有指定具体的文件名或路径。 方法三∶SET DIRCMD=DIR>NUL 此命令执行后再使用DIR命令,将输出没有文件的信息,也颇具迷惑性。 30.出所有目录中的文件 CHKDSK/V|MORE 31.如何在有多级目录的磁盘上查找文件 方法一∶CHKDSK/V|FIND"文件名"其中文件名必须用大写字母。 方法二∶DIR/S文件名 32.实时控制打印机的换行或换页 ECHO+>PRN(换行) ECHO^L>PRN(换页) 33.使计算机在DOS命令行发出声音 ECHO ^G 34.DOS命令提问的自动响应 例如∶ ECHO Y|DEL C∶ ECHO N|CHKDSK C∶/F 35.使ECHO命令显示空行 ECHO命令后直接跟空格字符时,ECHO将显示当前的信息回显状态(ON或OFF),而不直接向屏幕回显空行。其实,下面一些非常简单的命令格式都能使ECHO命令显示空行∶ ECHO ECHO, ECHO; ECHO+ ECHO[ ECHO] ECHO/ ECHO\par 36.用ECHO命令向交互式DOS命令馈送回车符 例如∶ ECHO+|DATE|FIND"Current date" ECHO+|TIME|FIND"Current time" 此技巧可用于AUTOEXEC.BAT中,使每次开机后直接显示当前日期和时间信息,不必按回车键就能继续下去。 37.开机时间黑匣子 有时需要记录每次使用计算机的日期和时间,以便加强用机管理。可以利用上述技巧,只须在AUTOEXEC.BAT文件中加入下列命令∶ ECHO+|DATE>>ABC ECHO+|TIME>>ABC 这样在每次启动计算机后,文件ABC中就自动记录了日期和时间,执行命令TYPE ABC即可查看以往开机日期和时间。 38.自动统计命令或文件的运行时间 下面给出一个计时器TIMETEST.BAT,实现了自动统计命令或文件的运行时间∶ @ECHO OFF TIME 0 COMMAND /C %1 %2 %3 %4 ECHO %1 %2 %3 %4运行时间为∶ ECHO+|TIME|FIND"time is" @ECHO ON 例如,测试AUTOEXEC.BAT运行时间∶ C>TIMETEST AUTOEXEC.BAT ┆ AUTOEXEC.BAT运行时间为∶ Current time is 0∶00∶03 49 说明AUTOEXEC.BAT运行了3.49秒。 39.跳过或单步执行CONFIG.SYS和AUTOEXEC.BAT文件 方法一∶启动计算机,屏幕出现Starting MS-DOS…时,按F5键或SHIFT键,DOS便会跳过CONFIG.SYS和AUTOEXEC.BAT两文件,用系统运行的基本环境配置来启动机器。 方法二∶当出现上面的提示后,按F8键,并通过键盘逐一回答Y或N来选择执行命令。 方法三∶在CONFIG.SYS文件的命令中加上"?"号。如DOS?=UMS,这样在执行到该条命令时,便会出现[Y,N]?的选择提示,让你选择是否装入该命令。 40.能否省去DOS启动时等待按F8或F5的两秒时间? 能。方法是在CONFIG SYS文件的头部加上语句SWITCHES=/F,此后同样可以实现以前的功能,方法是在未出现"Starting MS-DOS…"时就按下F8或F5键。 41.单步执行批处理文件 COMMAND/Y/C(批处理文件名) 开关/Y告诉DOS在执行每一行前暂停,提示[Y,N]?询问用户是否执行。 42.快速获取DOS命令的帮助信息 方法一∶FAST HELP 命令名 方法二∶命令名/? 方法三∶命令名/H 43.方便地更改子目录名 以下MOVE命令能将C∶目录改名为C∶∶ MOVE C∶ C∶ 44.什么时候使用MOVE命令移动文件? MOVE命令的最大特点是可以在一个命令行里列出多个要移的文件,文件之间可用","号相隔。例如,将当前目录中所有可执行文件均移进目录中∶ MOVE *.COM,*.EXE,*.BAT 45.用MOVE命令对子目录进行简单加密或解密 加密∶如将C∶目录利用半个汉字进行简单加密,可执行命令∶ MOVE C∶ C(半个汉字字符) 解密∶反之,可用MOVE命令结合通配符*或?,将不可识别的目录名改成其它名字,达到解密目的。 46.快速进入深层子目录 可用SUBST命令设置驱动器标识符,取代深层次子目录路径,使得进入深层次子目录十分方便。例如,下述命令可以将子目录C∶模拟成M盘∶ SUBST M∶ C∶ 这样,在任何目录下,只要将当前驱动器变成M,即可进入PRG子目录。 47.如何取消SUBST设置的盘符? 例如,要取消上例中的M盘,只须执行命令SUBST M∶/D即可。 48.建立并进入新目录的MD命令 DOS中的MD命令只能建立子目录,建好后再用CD命令进入,其实可以用∶ DOSKEY MD=MD $1 $T CD $1 对MD命令进行重新定义,此后使用MD时,建立目录和进入目录同步完成。 49.排除法文件列表 DIR命令中支持通配符*和?来代替其它字符,但却没有提供相应的排除字符的功能,而利用FIND命令中的/V参数,则能方便地实现排除法列表。下述命令能将除去.BAK文件和子目录以外的所有文件列出∶ DIR|FIND/V"BAK"|FIND/V"<DIR>" 50.>和>>的区别 DIR>DIRLIST∶如果DIRLIST文件存在,将清除其文件内容,并将新内容输入文件中。 DIR>>DIRLIST∶如果DIRLIST文件存在,将输出数据附加到这个文件末尾。 在DIRLIST文件不存在时,两者是等价的。 51.快速添加搜索路径 PATH=%PATH%;%1 52.对数据文件及由字处理程序生成的文本文件等不可执行文件,建立自动搜索路径。 APPEND命令能将一组指定的目录添加进当前目录的逻辑扩展,从而不用指定路径就能打开这组文件。APPEND后可以放多个目录,只要用";"隔开即可,例如∶ APPEND C∶;C∶;C∶;C∶; 53.将目录名隐藏起来 由于ATTRIB命令可改变一个目录的属性,所以利用该命令可将目录名隐藏起来。例如,将目录C∶隐藏起来∶ ATTRIB +H C∶ 54.快速删除目录树 用DELTREE命令可快速地删除指定目录,而不管目录中有多少子目录和目录及文件为何种属性。例如∶DELTREE C∶ 55.防止误删除文件 DEL命令是一个危险的命令,可以用下述命令对其进行重新定义,使得在删除文件时有确认提示∶ DOSKEY DEL=DEL $1/P 56.如果误删除了某些文件,有什么办法及时地将它们恢复? UNDELETE命令可以用来恢复删除文件,以下命令能将当前目录中的被删文件恢复出来∶ UNDELETE *.*/ALL 此命令恢复出来的文件名的第一个字符变成了#,可用REN命令更改成原来的文件名。 57.删除多个文件名无共同特征的文件时,由于难用通配符,只能逐个删除,比较麻烦。有没有其他方便的方法? 有。使用DEL *.*/P命令,系统会逐个列出指定目录的所有文件,询问用户是否删除,对欲删除文件回答Y,否则回答N。 58.加密文件名一法 在要加密的文件名最后加上ASCII字符255。方法是输入文件名后按下ALT键,然后输入255。这样,用DIR命令列出该文件时,并不显示这个字符,即从文件名看不出发生了任何变化,起到了一定的加密作用。 59.回忆用过的命令 执行DOSKEY命令后,用户所输入的命令便被存储起来,以后若要回忆使用过的命令,可随时用"↑"或"↓"键进行前后逐条查找。 60.禁止非法访问某个驱动器 在AUTOEXEC.BAT文件中加入下述两条命令,可以禁止非法访问D盘,当输入D∶时,屏幕即关闭,只有知道密码ZM的人才能进入D盘∶ DOSKEY D∶=ECHO OFF DOSKEY ZM=D∶ 61.防止别人误将C盘格式化 为了保护C盘,防止别人格式化,可用DOSKEY对FORMAT命令进行重新定义,例如∶ DOSDEY FORMAT=You can not format C∶! 这样,别人在使用FORMAT时将出现Yor can not format C∶!的提示,从而使C盘得到保护。若自己想用FORMAT时,再用如下命令恢复∶ DOSKEY FORMAT= 62.检查屏幕状态,获得有关屏幕显示字符和行数的报告 MODE CON 63.设置屏幕每行显示字符数和每屏的行数 例如∶ MODE CON COLS=80 LINES=25 64.提高键盘的响应速度 MODE CON∶RATE=32 DELAY=1 65.不喜欢系统启动时Num Lock键的缺省设置怎么办? 在CONFIG SYS文件中加进NUMLOCK命令,根据你的爱好指定系统启动时NUMLOCK键的状态∶ NUMLOCK=ON(或OFF) 66.简单的键盘锁 在你使用计算机时,如果只离开一会,又不想关机,为了不让别人随意使用,可编制一个简单的键盘锁LOCK BAT程序(内容如下)∶ @ECHO OFF CLS CHOICE/C:*/N 运行之后,形同死机,"*"号就是键盘锁的钥匙,不知道的人无法破译。 67.文件的选择显示 假设有MY1 TXT、MY2 TXT、…、MY10.TXT共10个文件,现欲显示其中的MY2.TXT、MY3.TXT、MY6.TXT和MY9.TXT 4个文件,可用如下命令很方便地实现∶ FOR %A IN(2369)DO TYPE MY%A.TXT 68.删除误拷贝文件 当用COPY A∶*.*命令把A盘上所有文件拷贝到硬盘某子目录下时,却不慎误拷贝到硬盘根目录下,如误拷贝的文件数量很多,且文件名没有任何特征,这时如要删除这些文件,通常做法是用PCTOOLS工具软件进行选择删除,比较麻烦。使用FOR命令就简单多了∶ A>FOR %A IN(*.*)DO DEL C∶%A 69.由于FIND命令不能接受通配符,若希望在若干个文本文件中寻找含有某个字符串插,就只能对每个文件依次使用FIND命令,显然很费功夫,没有捷径吗? 有。使用FOR命令与FIND命令配合,格式为∶ FOR%A IN(文件组)DO FIND"string"%A 70.FOR命令不能嵌套,有没有办法实现FOR循环嵌套呢? 有。可以把COMMAND.COM作为第一层循环里的命令,让它再执行一个FOR循环命令。例如,下述命令可以在屏幕上显示12行"Welcome you":FOR %A IN(123)DO COMMAND/C FOR %B IN(1234)DO ECHO Welcome you 71.双冒号∶∶在注释行中的作用 在DOS批处理文件开头,经常使用REM注释命令加一个程序头。例如,假设有一个名为TEST.BAT的批处理文件,它以一个文本文件名为输入参数,若在开头说明其用法时,使用了一个采用<和>和括号的注释行,即∶ REM TEST<filename> 程序执行此命令时,DOS将显示"File not found"信息,因为它以为filename是一个重定向输入操作的源文件,它在当前目录中找不到。如何解决这个问题? 很简单,只须将REM改为双冒号"∶∶",即∶ ∶∶TEST<filename> 72.批处理中的IF ERRORLEVEL 在批处理文件里使用IF ERRORLEVEL命令时要小心,因为DOS认为任何大于或等于设定值的出口状态值都是等效的。通常应按从大到小的次序测试出口状态值,例如∶ IF ERRORLEVEL 2 ECHO TWO IF ERRORLEVEL 1 ECHO ONE IF ERRORLEVEL 0 ECHO ZERO 73.能不能按从小到大的次序测试出口状态值? 能。但应结合IF NOT的形式进行判断,例如72例中的命令应改为∶ IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 ECHO ZERO IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 ECHO ONE IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 ECHO TWO 74.批处理文件中使用@符禁止命令显示在屏幕上 由于DOS是在各个命令执行前就将它们显示到屏幕上的,因此,即使你将ECHO命令置为OFF,它本身也会出现在屏幕上。要抑制它的显示,可在ECHO命令行前加@符∶@ ECHO OFF 75.统计源程序的行数 假设源程序名为ZM.PRG,下述FIND命令可方便地统计它共有多少行∶ FIND/V/C" "ZM.PRG 76.对文本文件进行排序 SORT命令常用来对一些基于文本行的文件进行排序显示。例如,按姓名的开头字母显示一个含有电话号码的清单文件。命令格式∶ SORT[/R][/+n]<filename1>filename2 其中,/R表示反向排序,/+n表示从第几行开始排序,filename1为源文件名,filename2为排序后的文件名。 77.用PROMPT设置有意义的提示符 PROMPT命令用于设置新的DOS系统提示符。例如∶ PROMPT $P$G 取当前驱动器名及目录作为提示符 PROMPT $D$G 取当前系统日期作为提示符。 78.如何设定屏幕颜色? 假设ANSI.SYS已被安装在内存中,以下命令可把屏幕设置成白底红字∶ PROMPT $E[31;47m 79.在屏幕上选定的位置显示日期和时间信息 把ANSI SYS的屏幕和光标控制功能与PROMPT的设定DOS命令提示符功能结合起来,可以在屏幕上选定的位置显示特殊的信息。例如,在AUTOEXEC BAT中加入下述命令行,可将日期和时间信息移到屏幕的右下方∶ PROMPT $E[S $E[25;52H $D$T $E[u $P$G 80.用F2键编辑上次命令 用F1或F3功能键可复制上次命令,类似地F2键能得到部分上次命令,当按下F2键时,DOS就将上次命令内容拷贝到按F2键后键入的字符(不含)为止。 例如,键入了以下命令∶ C>DIR.COM<enter> 按F2键及M键,可以得到∶ C>DIR 这时再按INS插入键,输入R,再按F3键复制上次命令剩余部分,得到正确的命令∶ C>DIR.COM 81、用F4键编辑上次命令 当按下F4键时,DOS从按F4键后按的字母开始复制上次命令。例如,上次命令为∶ C>DIR[enter] 按下F4键,再输入F,然后再按F3,DOS就会显示FORMAT命令∶ C>FORMAT 82、用SHELL命令改变环境空间的大小 将环境变量空间增加到1KB,可在CONFIG.SYS文件中加进命令行∶ SHELL=C∶.COM/P/E∶1024 83、在批处理文件中引用环境变量 批处理文件可以引用系统上已定义的环境变量。具体方法是在环境变量名的前后各放一个百分号"%"。例如,要在批处理文件中显示环境变量PATH的内容,可加进命令行∶ ECHO %PATH% 84、查看单个环境变量 如果你经常使用环境变量,当用SET命令显示当前所有已分配的环境变量时,列表就可能很长,屏幕可能很杂乱。为方便起见,可用下面的批处理文件VIEWENV.BAT在命令行直接显示单个环境变量∶ SET|FIND/I "%1" 例如,要察看COMSPEC的内容,只须执行∶ VIEWENV COMSPEC 85、制作DOS系统盘 方法一∶FORMAT A∶/S 方法二∶SYS A∶ 86、定期整理硬盘 具体步骤∶ ·删除硬盘中不必要的文件 ·运行CHKDSK/F ·运行DEFRAG 87、了解内存的类型 ·常规内存∶0~640KB ·上位内存区(UMA)∶640KB~1MB ·扩展内存∶自1MB起向上延伸 ·高内存区(HMA)∶1MB以上的稍小于64KB的扩展内存区 ·扩充内存 88、将DOS移到高内存区 为使用户有较大的可用基本内存,可以在CONFIG.SYS文件中加入下述命令,加载HIMEM.SYS,将DOS移入高内存区(HMA)∶ DEVICE=C∶.SYS DOS=HIGH 89、将设备驱动程序和内存驻留程序装入上位内存(UMB) 在CONFIG.SYS文件中加进命令∶ DEVICE=C∶.EXE NOEMS DOS=UMB 90、将程序装入高内存区 将程序装入HMA的方法是在命令行上加一个/U开关,例如∶ MOUSE/U 91、上位内存的使用 为将程序驻留上位内存,使用LOADHIGH(或LH)<程序名>即或,例如∶ LH MOUSE 92、如何显示某个特定程序占用内存的情况? MEM/M module 其中,module表示特定程序文件名,不要带扩展名。 93、使用Memmaker自动优化内存 执行MEMMAKER/BATCH命令,MEMMAKER就自动为CONFIG.SYS和AUTOEXEC.BAT文件做最优的设置,此后,执行MEM/C/P来观察内存的分配情况,你会发现主存变大了。 94、若不满意MEMMAKER的优化设置,应该怎么办? 很简单,只须执行MEMMAKER/UNDO即可恢复你原来的配置。 95、磁盘高速缓冲存储器SMARTDRV的使用 为建立一个具有256K(默认值)的磁盘高速缓存,可在AUTOEXEC.BAT文件中加入命令行∶ C∶ 由于SMARTDRV是建立在扩展内存中,所以还必须在CONFIG.SYS文件中加入命令行∶ DEVICE=C∶.SYS 96、当你关闭计算机或重新启动时,希望确定所有在高速缓存的信息均已写入硬盘时,应在系统提示符下键入命令∶ SMARTDRV/C 97、跳过SCANDISK的磁介质扫描 运行SCANDISK时,磁介质扫描要消耗很长时间,其实,使用SCANDISK/CHECKONLY便可跳过它。 98、LOADFIX命令的正确使用 在优化过程中,有少数程序不能在640KB常规内存的低64KB内正确运行。此时,可使用LOADFIX命令让可执行程序(如ZMPROG.EXE)在低64KB以上的内存中运行,方法是在要运行的应用程序前加上LOADFIX∶ LOADFIX ZMPROG 99、何时使用虚拟盘(也称RAM盘)? RAM盘能显着提高磁盘文件的存取速度,但它在断电或重启动时会丢失数据。因此,使用RAM盘时要特别小心。在没有硬盘的系统上,RAM盘值得一用;在需要存放较大的临时文件或复制程序时,也可以使用;当你的系统上配有CD-ROM时,在开始工作前,可将CD-ROM盘上的文件与数据复制进RAM盘,能够显着提高效率。 100、虚拟盘的安装 DOS提供的RAMDRIVE.SYS是一个虚拟盘驱动程序,你可以将它安装进内存,让它使用扩展内存或扩充内存,生成指定大小的RAM盘。例如,在CONFIG.SYS中加进下述命令,可在扩展内存中生成一个1MB的RAM盘∶ DEVICE=C∶.SYS 1024/E |
请发表评论