论坛: 菜鸟乐园 标题: DOS指令说明(上) 复制本贴地址    
作者: baboo [baboo]    论坛用户   登录
文件作者∶飘渺虚影<br>
<br>
・前言・ <br>
DOS指令 的基本运做是有分两种的  <br>
一种我叫他内建命令  <br>
一种我叫他外在命令  <br>
两者各有不同的差聚  <br>
<br>
# 先来说说内建命令  <br>
内建命令即是DOS一开机後就有的DOS指令  <br>
比方说  <br>
copy, del, md, cd, ren, dir, echo, type, cls, path 等等等等的常用命令  <br>
这些是本身就内建在开机程式(command.com)内  <br>
但您也能用外在命令(doskey) 来终止这些指令  <br>
这样别人将无法用del, copy, cd, dir .... 等等等的指令  <br>
<br>
#再来说外在命令  <br>
外在命令就是说  <br>
dos在开机後本身并不存在的命令  <br>
这些指令是由一个一个的可执行档所组成的  <br>
也就是说~~这些指令说穿了~~就是一个一个的档案  <br>
比方说  <br>
format, deltree, diskcopy, smartdrv, debug, diskcomp, scandisk, fdisk 等等等等的指令  <br>
这些指令只要把他的档名删掉(del)  <br>
或改名(ren)  <br>
那您的电脑将无法用 format deltree 等外在命令  <br>
<br>
大家应不难看出差别了吧???  <br>
dos 把常用的到的指令内建了  <br>
而不常用的指令放在外建  <br>
比方说  <br>
你可能一天到晚要做 copy 或 del 档案的动做  <br>
但我不相信您可以一天到晚在做 format, fdisk硬碟的动做吧??  <br>
<br>
或许您会说~~  <br>
那为甚麽不把所有的指令都放在内建命令呢?  <br>
要分成两种这麽麻烦~~~~~  <br>
我给您的答案是~~  <br>
因为电脑的内建指令是放在 command.com 里的  <br>
档案本身不大~~能让你做成开机磁片到处跑  <br>
但是 .........  <br>
如果你把一堆不常用的指令也内建~~  <br>
command.com档按本身就会变的很大~~~~慎至大到塞不下一张磁片  <br>
还有~~~  <br>
电脑的传统记忆体只有 640K  <br>
你开机的时後 COMMAND.COM 会被导入  <br>
还有一堆程式也会被导入  <br>
在几年前还没Windows的时後  <br>
那640k的传统记忆体是很重要的  <br>
很多人电脑开机後只剩下 300k 慎至更少  <br>
这样子你连dos的游戏都不能玩了  <br>
这时的电脑 = 垃圾  <br>
大家能用 mem 指令看看您的记忆体情况  <br>
<br>
<br>
・DOS指令・ <br>
C:\>help  <br>
<br>
<br>
若需某特定指定的资讯,请键入 HELP 指令名称。  <br>
ASSOC 显示或修改关联的副档名。  <br>
AT 将命令或程式的执行加以排程。  <br>
ATTRIB 显示或变更档案属性。  <br>
BREAK 设定或清除延伸的 CTRL+C 检查。  <br>
CALL 呼叫其他的批次程式。  <br>
CACLS 显示或修改档案的存取控制清单 (ACL)。  <br>
CD 显示目前的目录名称或目录变更。  <br>
CHCP 显示或设定字码页号码。  <br>
CHDIR 显示目前的目录名称或目录变更。  <br>
CHKDSK 检查磁碟并显示磁碟状态。  <br>
CLS 清除萤幕。  <br>
CMD 启动新的 Windows 2000 指令直译器例项。  <br>
COLOR 设定预设主控台背景及前景颜色。  <br>
COMP 比较两个或两组档案的差异。  <br>
COMPACT 显示或变更在 NTFS 磁碟分割上的档案压缩。  <br>
CONVERT 将 FAT 磁区转换为 NTFS。您不能转换使用中的磁区。  <br>
COPY 将档案复制到其它位置。  <br>
DATE 显示或设定日期。  <br>
DEL 删除档案。  <br>
DIR 显示档案清单或子目录清单。  <br>
DISKCOMP 比较两个磁片的差异  <br>
DISKCOPY 将磁片内容全部复制到另一张磁片。  <br>
DOSKEY 编辑命令列,重新呼叫 Windows 2000 命令,建立巨集。  <br>
ECHO 显示讯息,启动或关闭 echo 功能。  <br>
ENDLOCAL 中止在批次档案中的地区设定变更。  <br>
ERASE 删除档案。  <br>
EXIT 结束 CMD.EXE 程式 (指令直译器)。  <br>
FC 比较两个或两组档案的差异,并显示结果。  <br>
FIND 搜寻档案中的文字或字串。  <br>
FINDSTR 搜寻档案中的字串。  <br>
FOR 为一组档案指定个别档案的执行命令。  <br>
FORMAT 格式化磁片以供 Windows 2000 使用。  <br>
FTYPE 显示或修改副档名关联的档案类型。  <br>
GOTO 指示 Windows 2000 指令直译器,跳到有标示的指令行执行。  <br>
GRAFTABL 让 Windows 2000 在图形介面能够显示扩充字元集。  <br>
HELP 提供 Windows 2000 指令的说明资讯。  <br>
IF 执行逻辑判断式。  <br>
LABEL 建立,变更,或删除磁碟标签。  <br>
MD 建立目录。  <br>
MKDIR 建立目录。  <br>
MODE 设定系统装置。  <br>
MORE 设定萤幕显示一页後暂停。  <br>
MOVE 将档案从目前的位置移动到同一磁碟中的其他目录。  <br>
PATH 显示或设定执行档的搜寻目录。  <br>
PAUSE 暂停批次档案处理并显示讯息。  <br>
POPD 还原先前经由 PUSHD 储存的的现用目录设定值。  <br>
PRINT 列印文字档案。  <br>
PROMPT 变更 Windows 2000 命令提示字元。  <br>
PUSHD 储存现用目录,然後修改它。  <br>
RD 移除目录。  <br>
RECOVER 恢复损坏磁碟的唯读资讯。  <br>
REM 批次档或 CONFIG.SYS 中的备注标记。  <br>
REN 重新命名档案。  <br>
RENAME 重新命名档案。  <br>
REPLACE 取代档案。  <br>
RMDIR 移除目录。  <br>
SET 显示,设定,或移除 Windows 2000 环境变数。  <br>
SETLOCAL 启始批次档中地区设定的变更。  <br>
SHIFT 移动批次档中可取代参数的位置。  <br>
SORT 排序输入项目。  <br>
START 启动一个独立的视窗以执行指定程式或命令。  <br>
SUBST 将路径对应到磁碟代号。  <br>
TIME 显示或设定系统时间。  <br>
TITLE 设定 CMD.EXE 工作阶段的视窗标题。  <br>
TREE 以图形显示磁碟目录结构。  <br>
TYPE 显示文字档的内容。  <br>
VER 显示 Windows 2000 版本编号。  <br>
VERIFY 告诉 Windows 2000 是否要检查档案写入磁碟的正确性。  <br>
VOL 显示磁碟标签及序号。  <br>
XCOPY 复制档案及目录结构。  <br>
<br>
D:\>attrib /?  <br>
显示或变更档案属性。  <br>
<br>
ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path] filename]  <br>
[/S [/D]]  <br>
<br>
+ 设定属性。  <br>
- 清除属性。  <br>
R 唯读档案属性。  <br>
A 保存档案属性。  <br>
S 系统档案属性。  <br>
H 隐藏档案属性。  <br>
/S 处理目前的资料夹及所有子资料夹中相符的档案。  <br>
/D 一并处理资料夹。  <br>
============================================================  <br>
D:\>cd /?  <br>
显示目前工作目录的名称或是变更目录。  <br>
<br>
CHDIR [/D] [drive:][path]  <br>
CHDIR [..]  <br>
CD [/D] [drive:][path]  <br>
CD [..]  <br>
<br>
.. 指定变更到父系目录。  <br>
<br>
键入 CD drive: 即可显示指定磁碟机的目前工作目录。  <br>
仅键入 CD 而不加参数,即可显示目前的磁碟机和目录。  <br>
<br>
使用 /D 指令参数可以同时变更工作磁碟机及其工作目录。  <br>
<br>
<br>
如果您启用扩充指令,CHDIR 的变更如下:  <br>
<br>
目前的目录字串会被转换成与磁碟上名称相同大小写的字串。所以如果磁碟  <br>
上的目录是 C:\Temp 的话,CD C:\TEMP 命令实际上会转换为 CD C:\Temp。  <br>
<br>
CHDIR 命令不会将空格当成分隔字元,所以如果您要切换到含有空格字元  <br>
的目录时,就算您不使用引号来括住目录名称,也一样可以用 CD 指令切  <br>
换到该目录。例如:  <br>
<br>
cd \winnt\profiles\username\programs\start menu  <br>
<br>
就相等於:  <br>
<br>
cd "\winnt\profiles\username\programs\start menu"  <br>
<br>
如果您停用扩充指令,就必须输入前一种指令。  <br>
===========================================================  <br>
<br>
D:\>chkdsk /?  <br>
检查磁碟并显示状态报告。  <br>
<br>
<br>
CHKDSK [磁碟机[[路径]档名]]] [/F] [/V] [/R] [/X] [/I] [/C] [/L[:大小]]  <br>
<br>
<br>
volume 指定磁碟机代号 (後接冒号),连接点或磁碟区名称。  <br>
filename 只能用在 FAT: 指定要进行分散程度检查的档案。  <br>
/F 修复磁片上的错误。  <br>
/V FAT/FAT32 模式: 显示磁碟上每个档案的完整路径及名称。  <br>
NTFS 模式: 如果有清除的讯息,也一并显示。  <br>
/R 找出损坏的磁扇区并复原可读取的资讯。(包含 /F)。  <br>
/L:size 只适用於 NTFS 模式: 将记录档大小变更为指定的 KB  <br>
数值。如果没有指定记录档大小,就显示目前的大小。  <br>
/X 如果必须的话,强制先解下磁碟区。所有在  <br>
磁碟区上开启的控制代码都会失效 (包含 /F)。  <br>
/I 只适用於 NTFS 模式: 不检查索引项目。  <br>
/C 只适用於 NTFS 模式: 跳过资料夹结构的循环检查。  <br>
<br>
<br>
使用 /I 或 /C 参数跳过某些磁碟区检查,可以在执行Chkdsk 时减少检查时间。  <br>
=========================================================  <br>
D:\>cls /?  <br>
清除萤幕。  <br>
<br>
CLS  <br>
=========================================================  <br>
D:\>cmd /?  <br>
启动 Windows 2000 指令直译器新例项  <br>
<br>
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]  <br>
[[/S] [/C | /K] string]  <br>
<br>
/C 执行字串中所描述的指令然後结束指令视窗  <br>
/K 执行 字串中所描述的指令然後保留指令视窗  <br>
/S 修改字串在 /C 或 /K (参看下方)  <br>
/Q 关闭 echo  <br>
/D 从登录中停用 AutoRun 指令(参看下方)  <br>
/A 将内部指令输出结果以 ANSI 格式导向 pipe 或档案  <br>
/U 将内部指令输出结果以 Unicode 格式导向 pipe或档案  <br>
/T:fg 设定幕前/幕後色彩 (参看 COLOR /?)  <br>
/E:ON 启用指令延伸 (参看下方)  <br>
/E:OFF 停用指令延伸 (参看下方)  <br>
/F:ON 启用档案及目录名称完整字元(参看下方)  <br>
/F:OFF 停用档案及目录名称完整字元(参看下方)  <br>
/V:ON 启用延迟环境变数延伸,用 c 作为分隔字元。例如, /V:ON  <br>
可以让 !var! 在执行时展开变数 var。文法 var 则会在输入时  <br>
展开变数,这在 FOR 回圈之中是完全不同的事。  <br>
/V:OFF 停用延迟环境变数展开  <br>
<br>
请注意用命令分隔字元 '&&&&' 隔开的多个命令  <br>
如果被引号包含时则会被当成字串来接受。此外,为了相容性的原因,/X  <br>
的作用与 /E:ON 相同; /Y 与 /E:OFF 相同且 /R 与/C 相同。其馀的参数  <br>
则会被忽略。  <br>
<br>
如果指定了/C 或 /K,则在参数後的其馀命令列会被当成命令列来处理,其  <br>
中使用下面的逻辑来处理引号字元 (") :  <br>
<br>
1. 如果所有下列条件都符合,那麽指令列上的引号会被保留:  <br>
<br>
- 没有 /S 参数  <br>
- 正好有两个引号  <br>
- 在两个引号之间没有下列  <br>
特殊字元: <>()@^|  <br>
- 两个引号之间有一些空格  <br>
- 在两个引号之间的字串是执行档的档案名称。  <br>
<br>
2. 否则,如果第一个字元是引号,旧的指令行为会把前置字元去掉,并  <br>
将指令列中第一个引号及最後一个引号之间的所有文字便成保留文字。  <br>
<br>
(&<)如果您在指令行中未指定 /D,当 CMD.EXE 起动後,它会寻找下列 REG_SZ/REG_EXPAND_SZ的 登录变数。如果有一个存在或两个都存在,  <br>
指令会执行第一个变数。  <br>
<br>
HKEY_LOCAL_MACHINE\Software\Microsoft\CommandProcessor\AutoRun  <br>
<br>
及/或  <br>
<br>
HKEY_CURRENT_USER\Software\Microsoft\CommandProcessor\AutoRun  <br>
<br>
将指令扩充功能预设成启用状态。您可以在特定的  <br>
呼叫中,用 /E:OFF 参数来停用扩充功能。  <br>
您可以启用或停用一台电脑上或使用者登入工作阶段中所有  <br>
CMD.EXE 呼叫的扩充功能,如果您要这样作,  <br>
请使用 REGEDT32.EXE 来设定以下的 REG_DWORD 值:  <br>
<br>
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions  <br>
<br>
及/或  <br>
<br>
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions  <br>
<br>
到 0x1 或 0x0。 使用者指定设定的执行优先权高於电脑上的设定。指令行  <br>
参数的执行优先权高於登录中的设定值。  <br>
<br>
<br>
扩充指令包括下列指令的变更及(或)新增:  <br>
<br>
DEL or ERASE  <br>
COLOR  <br>
CD or CHDIR  <br>
MD or MKDIR  <br>
PROMPT  <br>
PUSHD  <br>
POPD  <br>
SET  <br>
SETLOCAL  <br>
ENDLOCAL  <br>
IF  <br>
FOR  <br>
CALL  <br>
SHIFT  <br>
GOTO  <br>
START (也包括援用外部指令之变更)  <br>
ASSOC  <br>
FTYPE  <br>
<br>
请键入 HELP 指令名称,以查阅说明。  <br>
<br>
预设状态下,不会启用延迟环境变数扩充。您可以使用 /V:ON 或 /V:OFF  <br>
参数在执行 CMD.EXE 时启用或停用完整档案名称。您也可以用  <br>
REGEDT32.EXE 来修改以下 REG_DWORD 值,来启用或停用整个电脑上  <br>
或使用者登入工作阶段中所有 CMD.EXE 的档案名称完整功能:  <br>
<br>
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion  <br>
<br>
及/或  <br>
<br>
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansion  <br>
<br>
其值可为 0x1 或 0x0。使用者登录指定会比电脑设定  <br>
优先使用。而指令行参数又会比登录设定值更优先使用。  <br>
<br>
如果已启用延迟环境变数扩充,惊叹号字元会在执行时  <br>
被用来取代环境变数值。  <br>
<br>
预设无法启用档案和目录名称完成。 您可以为特定的 CMD.EXE 呼叫,以  <br>
/F:ON 或 /F:OFF 开关启用或停用档案名称完成。 您可以启用或停用在同  <br>
一部电脑上所有 CMD.EXE 的呼叫完成及/或使用者登入工作阶段。方法是使  <br>
用 REGEDT32.EXE 设定其一或两者登录中的 REG_DWORD 值:  <br>
<br>
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar  <br>
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar  <br>
<br>
及/或  <br>
<br>
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar  <br>
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar  <br>
<br>
用於特定功能的控制字元十六进位值 (例如 0x4 是 Ctrl-D ; 0x6 是  <br>
Ctrl-F)。使用者特定设定优先於电脑设定,指令行开关也优先於登录设定。  <br>
<br>
如果以 /F:ON 开关启用完成,则用於目录名称完成的控制字元是 Ctrl-D  <br>
而用於档案名称完成的控制字元是 Ctrl-F。如果您要停用在登录中的特定  <br>
完成字元,请使用空间值 (0x20),因为它不是正确的控制字元。  <br>
<br>
当您键入其中一个控制字元後,完成功能会被启动。如果路径字串已存在,  <br>
而且所建立的路径清单也符合的话,完成函数会读取到指标所在左方为止  <br>
的路径字串。然後它会显示第一个符合的路径。如果找不到符合的路径,  <br>
它会发出哔声并保留显示。如果您重覆按相同的控制字元,它将在符合的路  <br>
径清单中循环执行。如果您同时按下 Shift 键与控制字元,可在清单中反  <br>
向移动。如果您进行编辑後再按控制字元的话,已储存的符合路径清单会被  <br>
丢弃,并建立新的清单。如果您在档案及目录完成功能之间切换,会有同样  <br>
的情况发生。这两个控制字元不同之处是:档案完成字元可同时对应档案及  <br>
目录名称,而目录完成字元只能对应目录名称。如果您将档案完成功能用在  <br>
内建目录命令上 (CD,MD 或 RD) 也等於使用了目录完成功能。  <br>
<br>
如果您在路径字串两端加上引号,完成功能键就可正确处理包含空格或其他  <br>
特殊字元的档案名称。还有,如果您备份後,又在指令行中呼叫完成功能的  <br>
话,已呼叫过完成功能的指标右方的文字会被丢弃。  <br>
===========================================================  <br>
<br>
D:\>comp /?  <br>
比较两个档案或两组档案的内容。  <br>
<br>
COMP [data1] [data2] [/D] [/A] [/L] [/N=number] [/C]  <br>
<br>
data1 指定第一个或第一组要比较的档案的位置与档名。  <br>
data2 指定第二个或第二组要比较的档案的位置与档名。  <br>
/D 以十进位格式来显示不同之处。  <br>
/A 以 ASCII 字元来显示不同之处。  <br>
/L 显示不同之处的行号。  <br>
/N=number 只比较每个档案中第一个指定的行号。  <br>
/C 比较档案时忽略 ASCII 字母的大小写。  <br>
<br>
要比较一组档案,请在 data1 和 data2 参数中使用万用字元。  <br>
===========================================================  <br>
D:\>copy /?  <br>
将一些档案复制到另一个位置。  <br>
<br>
COPY [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]  <br>
[+ source [/A | /B] [+ ...]] [destination [/A | /B]]  <br>
<br>
source 指定要复制的档案。  <br>
/A 指定一个 ASCII 文字档案。  <br>
/B 指定一个二位元档案。  <br>
destination 为新档案指定目录及(或) 档案名称。  <br>
/V 确认新档案是否正确写入。  <br>
/N 使用短档名来复制非 8.3 名称的档案(如果可用的话)。  <br>
/Y 不显示覆写现存目的档案的确认提示。  <br>
/-Y 显示覆写现存目的档案的确认提示。  <br>
/Z 在可重新启动模式中复制网路档案。  <br>
<br>
参数 /Y 可以预先设定在 COPYCMD 环境变数中。  <br>
这可能会覆写指令行中的 /-Y。 预设值是显示覆写确认提示,除非  <br>
COPY指令是从批次档中执行。  <br>
<br>
如果要附加档案,指定一个目的档案,及数个  <br>
来源档案 (使用万用字元或 file1+file2+file3 格式)。  <br>
=========================================================  <br>
D:\>date /?  <br>
显示或设定日期。  <br>
<br>
DATE [/T | date]  <br>
<br>
只键入 DATE 而不加上参数,可以显示目前设定的日期,并且提示您输入新  <br>
的日期。按 ENTER 键即可保持原来日期。  <br>
<br>
如果您启用扩充指令,DATE 指令会支援 /T 参数,这个参数  <br>
会让指令只输出目前的日期,而不提示您输入新日期。  <br>
===========================================================  <br>
D:\>del /?  <br>
删除一个或更多档案。  <br>
<br>
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names  <br>
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names  <br>
<br>
names 指定一个或更多档案或目录清单。可以使用万用字元  <br>
来删除多个档案。 如果指定目录,这个目录内的所有  <br>
档案将被删除。  <br>
<br>
/P 删除每个档案前,先提示确认。  <br>
/F 强制删除唯读档案。  <br>
/S 由所有子目录删除指定的档案。  <br>
/Q 安静模式,不要问是否确定删除全域万用字元  <br>
/A 根据属性选取要删除的档案  <br>
attributes R 唯读档案 S 系统档案  <br>
H 隐藏档案 A 准备保存的档案  <br>
- 首码表示不是  <br>
<br>
如果您启用扩充指令,DEL 和 ERASE 指令的变更如下:  <br>
<br>
/S 参数的显示方式完全相反,它只会显示已删除的档案,不会显示它找不  <br>
到的档案。  <br>
============================================================  

地主 发表时间: 02/06 13:38

回复: xiaojun [xiaojun]   剑客   登录
我靠,都是些陈芝麻烂谷子的事,估计看的人不会多了,除非如我等自DOS黑屏时代走来之人~~~~不过写得很详细,呵呵...

B1层 发表时间: 02/06 19:04

论坛: 菜鸟乐园

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号