DOS在WINDOWS下的优势
大家现在已能熟练地操作WINDOWS了,初学者根本不知道“DOS”是何物?但是一旦系统崩溃,又要回到“原始社会”--DOS。
其实在DOS下的一些命令是WINDOWS下无可比拟的(太夸张了些^-^)。首先介绍几个DOS下的命令:
一、delete(DEL)。大家一定要说这不是删除命令吗?对!就是删除命令。它能删除在WINDOWS下无法删除的文件。比如:Win386.swp(虚拟内存),定期删除可减少硬盘碎片,删除后重启自动可生成Win386.swp。然而在WINDOWS下用鼠标左键单击选定,按键盘上的Delete,弹出确认框:确实要把“Win386.swp”放入回收站吗?单击确定。又弹出一错误框:无法删除WIN386:访问被拒绝,请确定磁盘未满或未被写保护,而且文件未被使用。各位读者是不是遇到这种情况?
二、doskey(锁定命令)。大家一定对FORMAT很害怕吧!病毒一侵入,它就给您FORMAT,WU、WU、WU……后悔已来不及了,只得重装系统,真麻烦!现在您不必害怕!在DOS下键入如下命令以C:\doskey FORMAT=Bad Command or file name!并回车就可以了,当“病毒”或“人毒”格式化您的硬盘时,系统将会显示:“Bad command or file name!”。那么您又要问我:我自己想格式化的时候怎么办?没关系!只要键入“C:\doskey FORMAT=”并回车,就可以了^-^
三、FC(它是比较两个文件差别的命令)。命令格式:fc 原文件名 目标文件名 保存结果。例:fc c:\1.reg c:\2.reg>c:\3.txt(其中1.reg、2.reg是注册表文件,3.txt是文本文件),使用这个命令可以比较注册表,也可以其他文件(注册表:就是在开始\运行并回车)。这样在安装共享软件的时候,就知道“它”往注册表中装什么了,(安装前先导出注册表,安装后再导出注册表,并用FC命令比较),这样对某些搞特殊工作的人就方便多了,只能点到为止了^-^
四、bat(批处理命令),它在WINDOWS下同样有它的功效。有一些朋友是不是在上网的时候,经常忘了开防火墙?!如果在启动WINDOWS时直接启动,浪费了系统资源,并不是每次都上网;如果忘了开防火墙,病毒、木马就乘虚而入了,作者本人也有一次教训),能不能两全齐美呢?只要当上网时防火墙自动打开(有一些软件能使两个软件捆绑在一起,只要启动一个软件,另一个软件自动启动),自力更生、艰苦创业是中华民族的美德吗!以本人把天网防火墙和电子邮件捆绑一起为例,首先新建记事本(文本文件)内容如下:
start C:\Progra~1\skynet\Firewall\snfw.exe
start C:\Progra~1\Outloo~1.EXE\MSIMN.exe
然后另存为(菜单栏中文件\另存为)电子邮件.bat(名字随便起,只要后缀是.bat就行了)然后执行一下,是不是成功了,以后收发电子邮件,只要启动这个批处理文件就可以了(也可在桌面或任务栏建立快捷方式,是不是更方便了)。这里需要指出的是:DOS下不支持长文件名,最多8个字节,所以Program Files应写成Progra~1。命令格式即为start 文件存放路径。
怎么样,DOS还是宝刀未老吧!!!
DOS中的小技巧DOS中的小技巧 经常使用DOS,笔者总结了几条小技巧,特拿出来怡笑大方。 1. 批处理中用set设置dir的显示方式 在批处理命令中加上c: \setdircmd =w/p/a,(三个参数可单独使用)这样只需键入c: \dir,就可达到分屏五行显示,同时显示隐含目录与文件的效果。若想取消此显示方式,只需键入c: \setdircmd =<--(<――代表回车)同理使用set还可以使其他命令简化。 2. DOS下edit的使用技巧 使用过wps的人都觉得其中“定义块”的功能很好用,其实dos下的edit也能实现定义块,并且还有快捷键可使用。先按住shift键,再用→/←方向键控制,shift +home定义到行首,shift +end定义行行尾,shift +↑/↓定义上一行和下一行,shift +home +ctrl定义到文件头……(定义好的块会形成亮带)要想复制块,则首先要定义好块,然后按alt +e选择edit用↑/↓调到copy项,回车,将定义好的被复制项放到剪贴板中。再将光标移动至目标的位置,按alt +e,选paste(粘贴),回车,刚刚被放至剪贴板的块被复制到当前光标所在处。移动块也可照此方法。 3. 用Type命令拷贝加密盘 用DOS下的Type命令可以拷贝某些用copy及pctools无法复制的加密盘上的信息,方法是,先记下目标盘上所有文件的文件名的扩展名,然后在A:驱插入源盘,B:驱插入一张空盘,键入以下命令:A: Type文件名>B:文件名将加密盘上的所有文件按此格式都Type到目标盘上,就形成一张与原加密盘一样的盘了。 4. Type的另一妙用——获得未知病毒代码 用Type可以巧妙的利用病毒多感染com和exe这一特性,获得未知病毒代码。现在C盘根目录下建立两个零字节的Vir文件,扩展名分别用com和exe,方法如下:c: \>type nul >vir.com,c:\>type nul >vir.exe,根据病毒侵入的特性,一旦染毒,扩展名为com和exe的文件的字节数便会增加。所增加的字节便是感染病毒的全部代码,从而进行有针对的杀毒措施,如将病毒代码取适当的一段拷入一些杀毒软件的virus.dat等病毒代码文件中,就可以自己实现对杀毒软件的升级,非常及时。
XP中的增强DOS命令
“廉颇老矣,尚能饭否”,这是很多人对Windows操作系统下的DOS 的一种偏见,其实DOS在系统维护工作中有着重要的作用。自从微软公司推出Windows XP操作系统后, 人们热情的投入到Win XP的怀抱中去关注它、了解它、使用它,却很少有人注意到Win XP附带的DOS操作环境,实际上Win XP已经增加了部分DOS命令的功能,所谓“老树开新花”,下面让我们一道来感受Win XP下DOS的功能变化。
◆命令:DIR,列文件、目录
增加参数:/-C 参数说明:DIR列文件、目录时显示的文件大小,其数值以千为单位进行分隔,使用此参数即“DIR/-C”将取消显示中的分隔符,以满足部分人的视觉习惯。
增加参数:/Q 参数说明:Windows是多用户操作系统,使用此参数即“DIR /Q”列文件、目录时,将显示出文件、目录的用户属性。
增加参数:/T:C、/T:A、/T:W 参数说明:使用此参数即“DIR/T:C”、“DIR/T:A”、“DIR/T:W”分别显示文件、目录的创建时间、上次访问时间和上次修改时间。
增加参数:/X 参数说明:使用此参数即“DIR/X”列文件、目录时,会对长文件名同时显示“8.3”格式的文件名。
◆命令:CD,改变目录
增加参数:/D 参数说明:此参数的作用是快速改变当前目录,比如当前目录是C:\Windows,使用命令“CD/D E:\Tools”可快速切换到E:\Tools目录下。注:只有在Win XP的“运行”文本框中输入“CMD”得到的DOS窗口中才能使用此参数。
◆命令:MD,建立目录
功能说明:此命令并未增加参数,但是增强了功能,它可一次建立多级子目录, 例如使用命令“MD AA\BB\CC\DD”将一次性创建AA、BB、CC、DD四级子目录。而在老版本的DOS中,若不存在AA子目录,便无法直接建立AA下的BB等深层子目录。
◆命令:RD,删除目录
增加参数:/S 参数说明:使用此参数即“RD/S”用于删除目录树,即删除目录及目录下的所有子目录和文件,相当于以前版本中的DELTREE命令。
增加参数:/Q 参数说明:使用上面的/S参数删除目录树时,系统会要求用户确认是否真的要删除。若同时使用/Q参数即“RD/S /Q”,在进行删除操作时将取消确认,相当于DELTREE命令的/Y参数。
◆命令:DEL,删除文件或目录
增加参数:/F 参数说明:使用此参数即“DEL/F”可删除只读文件。
增加参数:/S、/Q 参数说明:使用此参数即“DEL/S”作用与“RD/S”完全相同,即删除目录及目录下的所有子目录和文件。同时使用参数/Q,可取消删除操作时的系统确认。
增加参数:/A 参数说明:删除指定属性或指定属性以外的文件,/AR、/AH、/AS、/AA分别表示删除只读、隐藏、系统、存档文件,/A-R、/A-H、/A-S、/A-A表示删除除只读、隐藏、系统、存档以外的文件。例如“DEL/AR *.*”表示删除当前目录下所有只读文件,“DEL/A-S *.*”表示删除当前目录下除系统文件以外的所有文件。
◆命令:ATTRIB,更改文件或目录的属性
增加参数:/D 参数说明:在Win XP中我们不能把文件或文件夹设置为系统属性,只能设为只读、隐藏或存档属性。而带参数/D使用ATTRIB命令可以对文件的所有属性进行设定,设定时必须与参数/S同时使用。例如“ATTRIB /S /D +S D:\Study”,作用是将D:\Study文件夹设置为系统文件夹。
◆命令:format,格式化磁盘
增加参数:/FS:filessystem 参数说明:按指定文件系统类型(FAT、FAT32、NTFS)格式化磁盘,例如“format /FS:NTFS”。
◆命令:DATE、TIME,显示系统日期和时间
增加参数:/T 参数说明:使用此参数即“DATE/T”、“TIME/T”将只显示当前日期和时间,而不必输入新日期和时间。
--------------------------------------------------------------------------------
常用的一些DOS命令
一索引: ATTRIB CD CLS COPY DATE DEL DIR DISKCOMP DISKCOPY ECHO FC FIND FORMAT LABEL MD MOVE PROMPT TIME TREE VER XCOPY
NETSTAT REM REN VOL TYPE
ATTRIB:显示或更改文件属性。
ATTRIB [+R│-R] [+A│-A] [+S│-S] [+H│-H] [[drive:] [path] filename] [/S] [/D]
+ 设置属性。 - 清除属性。 R 只读文件属性。 A 存档文件属性。 S 系统文件属性。 H 隐藏文件属性。 [drive:][path][filename] 指定要处理的文件属性。 /S 处理当前文件夹及其子文件夹中的匹配文件。 /D 也处理文件夹。
CD:显示当前目录名或改变当前目录。
CHDIR [/D] [drive:][path] CHDIR [..] CD [/D] [drive:][path] CD [..]
.. 指定要改成父目录。
键入 CD 驱动器: 显示指定驱动器中的当前目录。 不带参数只键入 CD,则显示当前驱动器和目录。
使用 /D 命令行开关,除了改变驱动器的当前目录之外, 还可改变当前驱动器。
如果扩展命令名被启用,CHDIR 会如下改变:
当前的目录字符串会被转换成使用磁盘名上的大小写。所以, 如果磁盘上的大小写如此,CD C : \TEMP 会将当前目录设为 C:\Temp。
CHDIR 命令不把空格当作分隔符,因此有可能将目录名改为一个 带有空格但不带有引号的子目录名。例如:
cd \winnt\profiles\username\programs\start menu
与下列相同:
cd "\winnt\profiles\username\programs\start menu"
在扩展功能停用的情况下,您必须键入以上命令。
CLS:清除屏幕。
COPY:将一份或多份文件复制到另一个位置。
COPY [/D] [/V] [/N] [/Y │ /-Y] [/Z] [/A │ /B ] source [/A │ /B] [+ source [/A │ /B] [+ ...]] [destination [/A │ /B]]
source 指定要复制的文件。 /A 表示一个 ASCII 文本文件。 /B 表示一个二进位文件。 /D 允许解密要创建的目标文件 destination 为新文件指定目录和/或文件名。 /V 验证新文件写入是否正确。 /N 复制带有非 8dot3 名称的文件时, 尽可能使用短文件名。 /Y 不使用确认是否要改写现有目标文件 的提示。 /-Y 使用确认是否要改写现有目标文件 的提示。 /Z 用可重新启动模式复制已联网的文件。
命令行开关 /Y 可以在 COPYCMD 环境变量中预先设定。 这可能会被命令行上的 /-Y 替代。除非 COPY 命令是在一个批文件脚本中执行的,默认值应为 在改写时进行提示。
要附加文件,请为目标指定一个文件,为源指定 数个文件(用通配符或 file1+file2+file3 格式)。 DATE:显示或设置日期。
DATE [/T │ date]
显示当前日期设置和输入新日期的提示,请键入 不带参数的 DATE。要保留现有日期,请按 ENTER。
如果命令扩展名被启用,DATE 命令会支持 /T 开关; 该开关指示命令只输出当前日期,但不提示输出新日期。
DEL:删除一个或数个文件。
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
names 指定一个或数个文件或目录列表。通配符可被用来 删除多个文件。如果指定了一个目录,目录中的所 有文件都会被删除。
/P 删除每一个文件之前提示确认。 /F 强制删除只读文件。 /S 从所有子目录删除指定文件。 /Q 安静模式。删除全局通配符时,不要求确认。 /A 根据属性选择要删除的文件。 attributes R 只读文件 S 系统文件 H 隐藏文件 A 存档文件 - 表示“否”的前缀
如果命令扩展名被启用,DEL 和 ERASE 会如下改变:
/S 开关的显示句法会颠倒,即只显示已经 删除的文件,而不显示找不到的文件。
DIR: DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N] [/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]
[drive:][path][filename] 指定要列出的驱动器、目录和/或文件。
/A 显示具有指定属性的文件。 attributes D 目录 R 只读文件 H 隐藏文件 A 准备存档的文件 S 系统文件 - 表示“否”的前缀 /B 使用空格式(没有标题信息或摘要)。 /C 在文件大小中显示千位数分隔符。这是默认值。用 /-C 来 停用分隔符显示。 /D 跟宽式相同,但文件是按栏分类列出的。 /L 用小写。 /N 新的长列表格式,其中文件名在最右边。 /O 用分类顺序列出文件。 sortorder N 按名称(字母顺序) S 按大小(从小到大) E 按扩展名(字母顺序) D 按日期/时间(从先到后) G 组目录优先 - 颠倒顺序的前缀 /P 在每个信息屏幕后暂停。 /Q 显示文件所有者。 /S 显示指定目录和所有子目录中的文件。 /T 控制显示或用来分类的时间字符域。 timefield C 创建时间 A 上次访问时间 W 上次写入的时间 /W 用宽列表格式。 /X 显示为非 8dot3 文件名产生的短名称。格式是 /N 的格式, 短名称插在长名称前面。如果没有短名称,在其位置则 显示空白。 /4 用四位数字显示年
可以在 DIRCMD 环境变量中预先设定开关。通过添加前缀 - (破折号) 来替代预先设定的开关。例如,/-W。
DISKCOMP:比较两张软盘的内容。
DISKCOMP [drive1: [drive2:]]
DISKCOPY:把一张软盘的内容复制到另一张。
DISKCOPY [drive1: [drive2:]] [/V]
/V 校验信息复制得是否正确。
两张软盘的类型必须相同。 您可以为 drive1 和 drive2 指定同样的驱动器。
ECHO:显示信息,或将命令回显打开或关上。
ECHO [ON │ OFF] ECHO [message]
要显示当前回显设置,键入不带参数的 ECHO。
FC:比较两个文件或两个文件集并显示它们之间的不同
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn] [drive1:][path1]filename1 [drive2:][path2]filename2 FC /B [drive1:][path1]filename1 [drive2:][path2]filename2
/A 只显示每个不同处的第一行和最后一行。 /B 执行二进制比较。 /C 不分大小写。 /L 将文件作为 ASCII 文字比较。 /LBn 将连续不匹配的最大值设为指定 的行数。 /N 在 ASCII 比较上显示行数。 /OFF[LINE] 不要跳过带有脱机属性集的文件。 /T 不要将 tab 扩充到空格。 /U 将文件作为 UNICODE 文字文件比较。 /W 为了比较而压缩空白(tab 和空格)。 /nnnn 指定不匹配处后必须连续匹配的行数。 [drive1:][path1]filename1 指定要比较的第一个文件或第一个文件集。 [drive2:][path2]filename2 指定要比较的第二个文件或第二个文件集。
FIND:在文件中搜索字符串。
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
/V 显示所有未包含指定字符串的行。 /C 仅显示包含字符串的行数。 /N 显示行号。 /I 搜索字符串时忽略大小写。 /OFF[LINE] 不要跳过具有脱机属性集的文件。 "string" 指定要搜索的文字串, [drive:][path]filename 指定要搜索的文件。
如果没有指定路径,FIND 将搜索键入的或者由另一命令产生的文字。
FORMAT:格式化磁盘。
FORMAT volume [/FS:file-system] [/V:label] [/Q] [/A:size] [/C] [/X] FORMAT volume [/V:label] [/Q] [/F:size] FORMAT volume [/V:label] [/Q] [/T:tracks /N:sectors] FORMAT volume [/V:label] [/Q] FORMAT volume [/Q]
volume 指定驱动器(后面跟一个冒号)、装入点 或卷名。 /FS:filesystem 指定文件系统类型(FAT、FAT32 或 NTFS)。 /V:label 指定卷标。 /Q 执行快速格式化。 /C 仅适于 NTFS: 默认情况下,将压缩在该新建卷上 创建的文件。 /X 如果必要,先强制卸下卷。那时,该卷所有 已打开的句柄不再有效。 /A:size 替代默认配置单位大小。极力建议您在一般状况下使用 默认设置。 NTFS 支持 512、1024、2048、4096、8192、16K、32K、 64K。 FAT 支持 512、1024、2048、4096、8192、16K、32K、 64k,(128k、256k 用于大于 512 字节的扇区) 。 FAT32 支持 512、1024、2048、4096、8192、16k、32k、 64k,(128k 、256k 用于大于 512 字节的扇区)。
注意 FAT 及 FAT32 文件系统对卷上的群集数量有以下限制:
FAT: 群集数量 <= 65526 FAT32: 65526 < 群集数量 < 4177918
如果判定使用指定的群集大小无法满足以上需求,格式 化将立即停止。
NTFS 压缩不支持大于 4096 的分配单元。
/F:size 指定要格式化的软盘大小(1.44) /T:tracks 为磁盘指定每面磁道数。 /N:sectors 指定每条磁道的扇区数。 LABEL:创建、更改或删除磁盘的卷标。
LABEL [drive:][label] LABEL [/MP] [volume] [label]
drive: 指定驱动器名。 label 指定卷标签。 /MP 指定卷应该被当作安装点或卷名。 volume 指定驱动器(后面跟一个冒号)、装入点 或卷名。如果指定了卷名,/MP 标志则不必要。
MD:创建目录。
MKDIR [drive:]path MD [drive:]path
如果命令扩展名被启用,MKDIR 会如下改变:
如果需要,MKDIR 会在路径中创建中级目录。例如: 假设 \a 不 存在,那么:
mkdir \a\b\c\d
与:
mkdir \a chdir \a mkdir b chdir b mkdir c chdir c mkdir d
相同。如果扩展名被停用,则需要键入 mkdir \a\b\c\d。
MOVE:移动文件并重命名文件和目录。
要移动至少一个文件: MOVE [/Y │ /-Y] [drive:][path]filename1[,...] destination
要重命名一个目录: MOVE [/Y │ /-Y] [drive:][path]dirname1 dirname2
[drive:][path]filename1 指定您想移动的文件位置和名称。 destination 指定文件的新位置。目标可包含一个驱动器号 和冒号、一个目录名或组合。如果只移动一个文件 并在移动时将其重命名,您还可以包括文件名。 [drive:][path]dirname1 指定要重命名的目录。 dirname2 指定目录的新名称。
/Y 取消确认改写一个现有目标文件的提示。 /-Y 对确认改写一个现有目标文件发出提示。
命令行开关 /Y 可以出现在 COPYCMD 环境变量中。这可以用命令行上 的 /-Y 替代。默认值是,除非 MOVE 命令是从一个批脚本内 执行的,改写时都发出提示。
PROMPT:更改命令提示符。
PROMPT [text]
text 指定新的命令提示符。
提示符可以由普通字符及下列特定代码组成:
$A & (短 and 符号) $B │ (管道) $C ( (左括弧) $D 当前日期 $E Escape code (ASCII 码 27) $F ) (右括弧) $G > (大于符号) $H Backspace (擦除前一个字符) $L < (小于符号) $N 当前驱动器 $P 当前驱动器及路径 $Q = (等号) $S (空格) $T 当前时间 $V 版本号 $_ 换行 $$ $ (货币符号)
如果命令扩展名被启用,PROMPT 命令会支持下列格式化字符:
$+ 根据 PUSHD 目录堆栈的深度,零个或零个以上加号(+)字符; 每个被推的层有一个字符。
$M 如果当前驱动器不是网络驱动器,显示跟当前驱动器号或 空字符串有关联的远程名。
TIME:显示或设置系统时间。
TIME [/T │ time]
显示当前时间设置和输入新时间的提示,请键入 不带参数的 TIME。要保留现有时间,请按 ENTER。
如果命令扩展名被启用,DATE 命令会支持 /T 命令行开关;该命令行开关告诉 命令只输出当前时间,但不提示输出新时间。
TREE:以图形显示驱动器或路径的文件夹结构。
TREE [drive:][path] [/F] [/A]
/F 显示每个文件夹中文件的名称。 /A 使用 ASCII 字符,而不使用扩展字符。
VER:显示 DOS / Windows 版本。
XCOPY:复制文件和目录树。
XCOPY source [destination] [/A │ /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W] [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U] [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/EXCLUDE:file1[+file2][+file3]...]
source 指定要复制的文件。 destination 指定新文件的位置和/或名称。 /A 只复制有存档属性集的文件, 但不改变属性。 /M 只复制有存档属性集的文件, 并关闭存档属性。 /D:m-d-y 复制在指定日期或指定日期以后改变的文件。 如果没有提供日期,只复制那些源时间 比目标时间新的文件。 /EXCLUDE:file1[+file2][+file3]... 指定含有字符串的文件列表。如果有任何 字符串与要被复制的文件的绝对路径 相符,那个文件将不会得到复制。 例如,指定如 \obj\ 或 .obj 的字符串会排除 目录 obj 下面的所有文件或带有 .obj 扩展名的文件。 /P 创建每个目标文件前提示。 /S 复制目录和子目录,除了空的。 /E 复制目录和子目录,包括空的。 与 /S /E 相同。可以用来修改 /T。 /V 验证每个新文件。 /W 提示您在复制前按键。 /C 即使有错误,也继续复制。 /I 如果目标不存在,又在复制一个以上的文件, 则假定目标一定是一个目录。 /Q 复制时不显示文件名。 /F 复制时显示完整的源和目标文件名。 /L 显示要复制的文件。 /G 允许将没有经过加密的文件复制到 不支持加密的目标。 /H 也复制隐藏和系统文件。 /R 改写只读文件。 /T 创建目录结构,但不复制文件。不 包括空目录或子目录。/T /E 包括 空目录和子目录。 /U 只复制已经存在于目标中的文件。 /K 复制属性。一般的 Xcopy 会重设只读属性。 /N 用生成的短名复制。 /O 复制文件所有权和 ACL 信息。 /X 复制文件审核设置(隐含 /O)。 /Y 禁止提示以确认改写一个 现存目标文件。 /-Y 导致提示以确认改写一个 现存目标文件。 /Z 用重新启动模式复制网络文件。
使用批处理文件--常用命令
echo、@、call、pause、rem 是批处理文件最常用的几个命令,我们就从他们开始学起。 echo 表示显示此命令后的字符 echo off 表示在此语句后所有运行的命令都不显示命令行本身 @ 与echo off相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。 call 调用另一条批处理文件(如果直接调用别的批处理文件 ,执行完那条文件后将无法执行当前文件后续命令) pause 运行此句会暂停,显示Press any key to continue... 等待用户按任意键后继续 rem 表示此命令后的字符为解释行,不执行,只是给自己今后查找用的
例:用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入 a.txt中,启动UCDOS,进入WPS等功能。
批处理文件的内容为: 文件表示:
echo off 不显示命令行
dir c:\*.* >a.txt 将c盘文件列表写入a.txt
call c:\ucdos\ucdos.bat 调用ucdos
echo 你好 显示"你好"
pause 暂停,等待按键继续
rem 使用wps 注释将使用wps
cd ucdos 进入ucdos目录
wps 使用wps
批处理文件中还可以像C语言一样使用参数,这只需用到一个参数表示符%。
%表示参数,参数是指在运行批处理文件时在文件名后加的字符串。变量可以从 %0到%9,%0表示文件名本身,字符串用%1到%9顺序表示。
例如,C:根目录下一批处理文件名为f.bat,内容为 format %1
则如果执行C:\>f a: 则实际执行的是format a:
又如C:根目录下一批处理文件的名为t.bat,内容为 type %1 type %2
那么运行C:\>t a.txt b.txt 将顺序地显示a.txt和b.txt文件的内容 if goto choice for 是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。
if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式: 1、if "参数" == "字符串" 待执行的命令 参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号) 如if "%1"=="a" format a:
2、if exist 文件名 待执行的命令 如果有指定的文件,则条件成立,运行命令,否则运行下一句。如if exist config.sys edit config.sys
3、if errorlevel 数字 待执行的命令 如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。如if errorlevel 2 goto x2 DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码
goto 批处理文件运行到这里将跳到goto 所指定的标号处, 一般与if配合使用。 如:
goto end
:end echo this is the end
标号用 :字符串 表示,标号所在行不被执行
choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……
如: choice /cme defrag,mem,end 将显示 defrag,mem,end[D,M,E]?
例如,test.bat的内容如下: @echo off choice /cme defrag,mem,end if errorlevel 3 goto defrag 应先判断数值最高的错误码 if errorlevel 2 goto mem if errotlevel 1 goto end
efrag c:\dos\defrag goto end
:mem mem goto end
:end echo good bye
此文件运行后,将显示 defrag,mem,end[D,M,E]? 用户可选择d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,文件结束。
for 循环命令,只要条件符合,它将多次执行同一命令。
格式FOR [%%f] in (集合) DO [命令] 只要参数f在指定的集合内,则条件成立,执行命令
如果一条批处理文件中有一行: for %%c in (*.bat *.txt) do type %%c 含义是如果是以bat或txt结尾的文件,则显示文件的内容。 DOS在启动会自动运行autoexec.bat这条文件,一般我们在里面装载每次必用的程序,如: path(设置路径)、smartdrv(磁盘加速)、 mouse(鼠标启动)、mscdex(光驱连接)、 doskey(键盘管理)、set(设置环境变量)等。
如果启动盘根目录中没有这个文件,电脑会让用户输入日期和时间。
例如,一个典型的autoexec.bat内容如下:
@echo off 不显示命令行
prompt $p$g 设置提示符前有目录提示
path c:\dos;c:\;c:\windows;c:\ucdos;c:\tools 设置路径
lh c:\dos\doskey.com 加载键盘管理
lh c:\mouse\mouse.com 加载鼠标管理
lh c:\dos\smartdrv.exe 加载磁盘加速管理
lh c:\dos\mscdex /S /D:MSCD000 /M:12 /V 加载CD-ROM驱动
set temp=c:\temp 设置临时目录
10.for 命令 for 命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。 在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable
for {%variable|%%variable} in (set) do command [ CommandLineOptions] %variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以使用通配符。 command 指定对每个文件执行的命令。 command-parameters 为特定命令指定参数或命令行开关。 在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable 而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I
如果命令扩展名被启用,下列额外的 FOR 命令格式会受到 支持:
FOR /D %variable IN (set) DO command [command-parameters]
如果集中包含通配符,则指定与目录名匹配,而不与文件 名匹配。
FOR /R [[drive:]path] %variable IN (set) DO command [command-
检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。如果在 /R 后没有指定目录,则使用当前 目录。如果集仅为一个单点(.)字符,则枚举该目录树。
FOR /L %variable IN (start,step,end) DO command [command-para
该集表示以增量形式从开始到结束的一个数字序列。 因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生 序列 (5 4 3 2 1)。
FOR /F ["options"] %variable IN (file-set) DO command FOR /F ["options"] %variable IN ("string") DO command FOR /F ["options"] %variable IN (‘command‘) DO command
或者,如果有 usebackq 选项:
FOR /F ["options"] %variable IN (file-set) DO command FOR /F ["options"] %variable IN ("string") DO command FOR /F ["options"] %variable IN (‘command‘) DO command
filenameset 为一个或多个文件名。继续到 filenameset 中的 下一个文件之前,每份文件都已被打开、读取并经过处理。 处理包括读取文件,将其分成一行行的文字,然后将每行 解析成零或更多的符号。然后用已找到的符号字符串变量值 调用 For 循环。以默认方式,/F 通过每个文件的每一行中分开 的第一个空白符号。跳过空白行。您可通过指定可选 "options" 参数替代默认解析操作。这个带引号的字符串包括一个或多个 指定不同解析选项的关键字。这些关键字为:
eol=c - 指一个行注释字符的结尾(就一个)
DOS下联网的方法
随着计算机和网络的普及,计算机之间的联网操作(如文件的传输,聊天等)显得越来越重要了。既然DOS有这么多的用户,那么如何用它来实现联网呢?DR-DOS 7.xx中自带联网(包括局域网和TCP协议)的功能,可是我们大家常用的MS-DOS却没有。但是,并不是没有办法,只是需要一些附加的软件。比较好的有Netware Lite 1.x和Microsoft Network Client 3.0(均可在本站的“网络工具”中下载),下面以后者为例,讲述一下局域网的实现方法。 首先在需要联网的计算机中安装Microsoft Network Client 3.0(后文简称MSCLIENT),安装中输入各自的工作组,计算机名和IP地址,以及用户名和密码,并在列表中选择安装的网卡的型号。如果列表中没有您的网卡的话,则需要网卡自带的驱动程序,通常在一张软盘中,也有可能在光盘中。当它提示输入OEM盘的时候,您就插入网卡的驱动程序磁盘,然后输入合适的路径。由于各网络系统所需的网卡驱动程序并不一样,而对于MSCLIENT一般则选择驱动盘中的NDIS2或MSCLIENT文件夹,如A:\MSCLIENT。只要正确的话,它就会进行自动安装了。至于网络协议,一般只要有NetBEUI和TCP/IP协议就够了,装太多会减慢网络的速度。安装完成后,MSCLIENT会自动将网络启动命令放入AUTOEXEC.BAT中,重新启动计算机后就会发现网络自动启动了。当系统提示输入用户名和密码时,输入刚才设置的就可以了。这时,网络就开始运转了,比如您想查看当前工作组下的所有计算机,可输入NET VIEW命令。 不过,这时候大家都还是客户机,还没有服务器,必须安装服务器才可以共享文件。安装后可用NETSHARE命令设置共享路径,如将D盘设为共享,如果必要的话,还可以设置密码,以免非法访问。一旦设好服务器和共享,客户机就可以访问该计算机上的资源了。比如:NET USE E:\PC\C命令就会将名称为PC的计算机上的共享名为C的驱动器(或文件夹)重定向到E盘,此时远程计算机上的内容就可以像本地计算机那样访问了。不过还有一点很重要,那就是要将MSCLIENT的文件和打印机的共享功能的设置打开,方法是用EDIT等文本编辑器打开MSCLIENT文件夹中的SYSTEM.INI,将[network]项中的filesharing和printsharing的值全部改为yes,保存并退出后就可以使用文件和打印机的共享功能了。 如果想将使用DOS和使用Windows的计算机相联,也是完全可以的。由于Windows 3.11 for Workgroups,Windows 9x以及Windows NT/2K/XP中采用的是一种叫做“Microsoft Windows Network”的网络,和DOS下的Microsoft Network Client 3.0是兼容的,所以它们之间可以实现非常完好的互相访问,就像DOS与DOS之间,或Windows与Windows之间的网络一样。不过要注意的是,若想要使用DOS的计算机访问使用Windows NT/2K/XP的计算机,则一定要在Windows NT/2K/XP中设置DOS计算机的用户帐户,否则无法访问。 Microsoft Network Client 3.0中有许多非常实用的命令,如PING等,如果您想知道这些命令及其用法,请见“DOS文章”栏目。 除了使用MSCLIENT以外,还可以使用Netware等工具联网。以Netware Lite为例,安装完后直接执行STARTNET.BAT即可自动调入对等网(包括服务器)。这时可用它自带的NET命令进行全屏幕的网络管理,也可以用命令行方式,比如NET MAP命令可重定向到对方的计算机(当然需先设置共享)。更简单的方法是,在加载了IPX协议(IPXODI.COM)后,直接利用IPXCOPY.EXE命令(可在“DOS软件”中下载)进行文件传输,而不用启动服务器。方法是在一台计算机中用IPXCOPY命令启动接收器,在另一台计算机上用“IPXCOPY 文件名”命令进行传输,其中文件名可为通配符,也可用/S选项以指定包括子文件夹中的文件。当然还有其它的方法,这儿就不再介绍了。 以上谈的是局域网的联接方法,下面谈谈上Internet的方法。通常上网有两种方式,一种是拨号上网,即通过调制解调器,另一种是通过网卡。因此,上网的方法也有两种。不过共同点,就是它们都需要一个网络浏览器。DOS下最好的图形方式的浏览器是ARACHNE,功能十分强大,可在本站上下载。使用它进行拨号上网需要一个支持DOS的调制解调器(包括硬件的调制解制解调器或带有DOS驱动程序的软件调制解调器,也可以在Win9x的DOS窗口中使用),选择设置屏幕中的“使用Modem上网”后,Arachne会对调制解调器每个可能所在的端口进行检测,只要成功检测到一个就可以使用了。然后输入正确的电话号码,用户名及密码,就可以进行拨号了。如果是通过网卡上网的话则需要此网卡的Packet驱动程序,注意必须安装在地址0x60上,例如对于NE2000网卡可在DOS提示符下用NE2000 0x60命令进行安装。在ARACHNE中的设置屏幕中选择“使用网卡上网”,并选择DHCP自动配置,只要网络正常的话,就可以查看网页了。关于ARACHNE浏览器的具体使用方法,可见“DOS文章”栏目。 当然,DOS下真正联接到Internet还有许多种方法,如使用拨号适配器驱动程序(如DOSPPP),或者安装了网卡的Packet驱动程序后,用WATTCP程序(如WGET,Lynx)等都可以实现网上资料的读取。要想使用电子邮件,用Barebones E-mail等程序就可以轻易实现收发电子邮件(需知道邮箱的POP3及SMTP服务器地址)。DOS下有关网络的程序很多,这里就不再详述了。
DOS未公开命令与参数
DOS系统中有许多未公开的命令与参数。由于DOS的种类很多,所以下面仅以MS-DOS为例,介绍一下常用命令中的未公开的命令与参数。 DOS未公开命令: TRUENAME:用于显示实际的路径,对SUBST等命令很有用。 INSTALLHIGH:用在CONFIG.SYS中,将文件调入UMB。 LOGO和COMMENT:仅用在DOS7中的CONFIG.SYS中,用法未知。 DOS未公开参数: COMMAND /F 使Fail作为Abort,Retry,Fail中的默认选项。 COMMAND /D 在DOS5中是禁止AUTOEXEC.BAT自动执行;在6.0+版本中是禁止/F参数。 COMMAND /Z 显示ERRORLEVEL(错误返回代码)信息。 COMMAND /T 在DOS7.x中强制将COMMAND.COM永久性调入常规内存。 FORMAT /AUTOTEST 自动完成格式化过程。 FORMAT /BACKUP 自动完成格式化过程,并提示输入卷标。 FORMAT /SELECT 只在磁盘上备份系统区数据,相当于MIRROR程序。 FORMAT /SELECT /U 将引导区和文件分配表用F6H填之。 FORMAT /Z:n 设置FAT32分区上的簇大小。 FDISK /MBR 重写硬盘主引导记录。 FDISK /CMBR drive 重写指定驱动器上的主引导记录。 FDISK /PRI:size 创建主分区。 FDISK /EXT:size 创建扩展分区。 FDISK /LOG:size 在扩展分区上创建逻辑驱动器。 FDISK /PRMT|/Q 提示行动/安静模式。 FDISK /PARTN 将分区表信息保存到PARTSAV.FIL中。 FDISK /ACTOK 用于DOS7中,跳过完整性测试。 FDISK /FPRMT 用于DOS7中,自动采用FAT32,并跳过提示信息。 DOSKEY /APPEDIT 使DOSKEY也应用于其它程序(如DEBUG等)中。 DOSKEY /COMMAND和/PERMANENT和/SCRSIZE和/XHISTORY 用法未知。 SCANDISK /CLIP 用于DOS7中,将长文件名剪为短文件名。 SCANDISK /NOLOST 用于DOS7中,不提示表面测试或丢失簇。 SCANDISK /NOUI和/TEXT 用于DOS7中,使用标准的DOS界面。 SCANDISK /MOUNT 相当于SCANDISK.INI中的Mount=Always。 SCANDISK /TIME 相当于SCANDISK.INI中的ScanTimeOut=On。 MEM /A或MEM /ALL 显示HMA信息。 VER /R 显示扩展的版本信息。 DIR /Z 用于DOS7中,不显示长文件名。 DOS=SINGLE 用在DOS7中的CONFIG.SYS中,启动单一模式的DOS。 DEVICE=HIMEM.SYS /Q 安静模式。 DEVICE=EMM386.EXE NOTR 不要检测Token Ring网络适配器。 以上是MS-DOS中的未公开命令与参数,其中有些是比较实用的,大家不妨一试。
|