DOS内部命令和批处理命令列表剖析.docx

上传人:b****1 文档编号:14459687 上传时间:2023-06-23 格式:DOCX 页数:19 大小:24.39KB
下载 相关 举报
DOS内部命令和批处理命令列表剖析.docx_第1页
第1页 / 共19页
DOS内部命令和批处理命令列表剖析.docx_第2页
第2页 / 共19页
DOS内部命令和批处理命令列表剖析.docx_第3页
第3页 / 共19页
DOS内部命令和批处理命令列表剖析.docx_第4页
第4页 / 共19页
DOS内部命令和批处理命令列表剖析.docx_第5页
第5页 / 共19页
DOS内部命令和批处理命令列表剖析.docx_第6页
第6页 / 共19页
DOS内部命令和批处理命令列表剖析.docx_第7页
第7页 / 共19页
DOS内部命令和批处理命令列表剖析.docx_第8页
第8页 / 共19页
DOS内部命令和批处理命令列表剖析.docx_第9页
第9页 / 共19页
DOS内部命令和批处理命令列表剖析.docx_第10页
第10页 / 共19页
DOS内部命令和批处理命令列表剖析.docx_第11页
第11页 / 共19页
DOS内部命令和批处理命令列表剖析.docx_第12页
第12页 / 共19页
DOS内部命令和批处理命令列表剖析.docx_第13页
第13页 / 共19页
DOS内部命令和批处理命令列表剖析.docx_第14页
第14页 / 共19页
DOS内部命令和批处理命令列表剖析.docx_第15页
第15页 / 共19页
DOS内部命令和批处理命令列表剖析.docx_第16页
第16页 / 共19页
DOS内部命令和批处理命令列表剖析.docx_第17页
第17页 / 共19页
DOS内部命令和批处理命令列表剖析.docx_第18页
第18页 / 共19页
DOS内部命令和批处理命令列表剖析.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

DOS内部命令和批处理命令列表剖析.docx

《DOS内部命令和批处理命令列表剖析.docx》由会员分享,可在线阅读,更多相关《DOS内部命令和批处理命令列表剖析.docx(19页珍藏版)》请在冰点文库上搜索。

DOS内部命令和批处理命令列表剖析.docx

DOS内部命令和批处理命令列表剖析

DOS内部命令和批处理命令列表

Wikipedia,自由的百科全书

MS-DOS7.1所有内部命令与批处理命令中文帮助集合

       ——本页所有内容均由熊朝伟独自汉化。

命令:

CALL

功能:

在批处理文件中调用批处理文件.

CALL[驱动器:

][路径]文件名[批命令参数]

 批命令参数        指定批处理文件所需的命令行参数.

命令:

CD/CHDIR

功能:

显示或改变当前目录.

CHDIR[驱动器:

][路径]

CHDIR[..]

CD[驱动器:

][路径]

CD[..]

 ..  表示当前目录改变成父目录.

键入CD[驱动器:

],可显示指定驱动器的当前目录.

键入不带参数的CD可显示当前驱动器和当前目录.

命令:

CLS

功能:

清除屏幕。

CLS

命令:

COPY

功能:

文件拷贝.

COPY[/A|/B]source[/A|/B][+source[/A|/B][+...]][destination

 [/A|/B]][/V][/Y|/-Y]

 source      指定被拷贝的文件.

 /A          表示ASCII正文文件.

 /B          表示二进制文件.

 destination 指定新文件的目录和文件名.

 /V          校验新文件是否正确.

 /Y          在重写原有的目标文件之前,不让你确认.

 /-Y         在重写原有的目标文件之前,让你确认.

开关项/Y可由环境变量COPYCMD预设.

-Y可以更改预设值.要合并多个文件时,可指定单个目标文件,但指定多个

源文件(使用通配符或文件1+文件2+文件3格式).

命令:

DATE

功能:

显示或设置日期。

DATE [日期]

显示当前日期设置和输入新日期的提示,请键入

不带参数的DATE。

要保留现有日期,请按ENTER。

命令:

DEL/ERASE

功能:

删除文件.

DEL[驱动器:

][路径]文件名[/P]

ERASE[驱动器:

][路径]文件名[/P]

 [驱动器:

][路径]文件名  指定被删除的文件,用通配符指定多个文件.

 /P           删除每个文件之前显示确认信息.

命令:

DIR

功能:

显示目录中的文件和子目录列表。

DIR[驱动器:

][路径][文件名][/P][/W][/A[[:

]属性]]

 [/O[[:

]排序方式]][/S][/B][/L][/V][/4]

 [驱动器:

][路径][文件名]

             指定列出的驱动器,目录或文件。

             (可支持带通配符的长文件名)

 /P         显示一屏信息后暂停。

 /W         使用宽幅列表格式。

 /A         显示指定属性的文件。

 属性        D 目录                      R 只读文件

              H 隐含文件                  A 准备存档的文件

              S 系统文件                  - 前缀,表示"非"

 /O         排序后列出文件。

 排序方式    N 按文件名(字母顺序)        S 按大小(小文件在前)

              E 按扩展名(字母顺序)        D 按日期和时间(先建立的在前)

              G 先列出子目录              - 前缀,表示反序

              A 按最后访问日期排序(先访问的在前)

 /S         列出指定目录及其所有子目录的文件。

 /B         使用空格式(没有标题信息或摘要)。

 /L         用小写。

 /V         Verbosemode.

 /4         用四位数字显示年

开关可能已用DIRCMD环境变量预置.

用连字符(-)可更换预置的开关,例如/-W.

命令:

ECHO

功能:

显示信息,打开或关闭命令的回显.

 ECHO[ON|OFF]

 ECHO[信息]

键入不带参数的ECHO可显示ECHO的当前设置.

命令:

EXIT

功能:

退出COMMAND.COM命令解释程序.

EXIT

命令:

FOR

功能:

对一系列文件中的每个文件执行指定的命令.

FOR%变量名IN(文件集)DO命令名[命令行参数]

 %变量名   指定可替换型参数.

 (文件集)  指定包含一个或多个文件的文件集,可使用通配符.

 命令名    指定为每个文件执行的命令.

 命令行参数

            指定命令的参数或开关.

在批处理文件中使用FOR命令时,用%%变量名替换%变量名.

命令:

GOTO

功能:

在批处理程序中将Windows转向到指定的行号.

GOTO标号

 标号   指定在批处理文件中用作标号的正文字符串.

标号独占一行,以冒号打头.

命令:

IF

功能:

批文件的条件语句.

IF[NOT]ERRORLEVEL数值命令名

IF[NOT]字串1==字串2命令名

IF[NOT]EXIST文件名命令名

 NOT              指示Windows在条件不成立时才执行命令.

 ERRORLEVEL数值  如果上次程序返回的退出码大于或等于指定的数值,则条件成立.

 命令名           指定条件满足时应执行的命令.

 字串1==字串2     如果正文字符串匹配,则条件成立.

 EXIST文件名     如果指定的文件存在,则条件成立.

命令:

LH/LOADHIGH

功能:

将程序装入上端内存区.

LOADHIGH[驱动器:

][路径]程序名[参数]

LOADHIGH[/L:

区域1[,最小值1][;区域2[,最小值2]...][/S]]

        [驱动器:

][路径]程序名[参数]

/L:

区域1[,最小值1][;区域2[,最小值2]]...

           指定装裁程序的内存区域,<区域1>指定第一个内存区号.

           <最小值1>指定<区域1>的最小尺寸(若有).

           <区域2>和<最小值2>指定第二个内存块号和最小尺寸(若有).

           内存区域的个数不限.

/S         装入程序时,将UMB收缩到最小尺寸.

[驱动器:

][路径]文件名

           指定程序的名称和位置.

命令:

MD/MKDIR

功能:

创建目录.

MKDIR[驱动器:

]目录

MD[驱动器:

]目录

命令:

PATH

功能:

显示或设置可执行文件的搜索路径.

PATH[[驱动器:

]路径[....]]

PATH ;

键入PATH ;可清除所有的搜索路径,使Windows只搜索当前目录

键入不带参数的PATH可显示当前路径.

命令:

PAUSE

功能:

暂停批处理程序,并显示以下消息:

   请按任意键继续...

PAUSE

命令:

PROMPT

功能:

更改命令提示符。

PROMPT[text]

 text   指定新的命令提示符。

提示符可以由普通字符及下列特定代码组成:

 $Q   =(等号)

 $$  $(货币符号)

 $T  当前时间

 $D  当前日期

 $P  当前驱动器及路径

 $V  Windows版本号

 $N  当前驱动器

 $G  >(大于符号)

 $L  <(小于符号)

 $B  |(管道)

 $H  退格(擦除前一个字符)

 $E  Escape码(ASCII码27)

 $_  回车换行

键入不带参数的PROMPT可以将提示符改回默认设置。

命令:

RD/RMDIR

功能:

删除目录.

RMDIR[驱动器:

]目录

RD[驱动器:

]目录

命令:

REM

功能:

在批处理文件或CONFIG.SYS里加上注解或说明。

REM[注解]

命令:

REN/RENAME

功能:

重命名文件或目录列表。

RENAME[驱动器:

][路径]文件名1文件名2.

REN[驱动器:

][路径]文件名1文件名2.

请注意,您不能为目标文件或目录列表指定新的驱动器或路径。

命令:

SET

功能:

显示,设置或删除Windows环境变量.

SET[变量=[字符串]]

 变量     指定环境变量名.

 字符串   指定赋给环境变量的字符串.

键入不带参数的SET可显示当前的环境变量.

命令:

TIME

功能:

显示或设置系统时间。

TIME[时间]

显示当前时间设置和输入新时间的提示,请键入

不带参数的TIME。

要保留现有时间,请按ENTER。

命令:

TYPE

功能:

显示文本文件的内容。

TYPE[驱动器:

][路径]文件名

命令:

VER

功能:

显示Windows版本.

VER

命令:

VOL

功能:

显示磁盘的标签号和存在的序列号.

VOL[驱动器:

]

取自"-

usebackq--使用反写的单引号键,(这个键在键盘上数字1的左面,波浪号的下档键)。

用它括起的内容为命令。

例如

`set'[对不起,我这里打不进来],表示执行set命令,即取环境变量。

delims=xxx定义字词分隔符,默认是空白键,表格键。

delims=就是不用默认分隔符,用自己在这里定义的东西,例如分号豆号。

eol=c定义注解开始点的符号(1个字符),该号起,直到行尾是注解

skip=3跳过文件开始的头3行。

墨认是跳过所有空白行,不跳有字行。

tokens=x,y,m-n,x,y是特殊字符,例如要查找的字符,m-n是范围,第几到第几个特殊字符,在此范围内的内容作语法分析。

"usebackqdelims=;"联在一起--仍应看成分别的两个定义,一个定义反引号,另一个定义分隔符是";"号。

批处理中的for详解

批处理中的for详解

简单说,FOR是个循环,可以用你指定的循环范围生成一系列命令。

最简单的例子,就是人工指定循环范围,然后对每个值执行指定的命令。

例如,想快速报告每个硬盘分区的剩余空间:

for%ain(c:

d:

e:

f:

)do@dir%a\ find"bytesfree"

将输出:

8Dir(s)1,361,334,272bytesfree

15Dir(s)8,505,581,568bytesfree

12Dir(s)12,975,149,056bytesfree

7Dir(s)11,658,854,400bytesfree

用它可以使一些不支持通配符的命令对一系列文件进行操作。

在WIN9X中,TYPE命令(显示文件内容)是不支持*.txt这种格式的(WIN2K开始TYPE已支持通配)。

遇到类似情况就可以用FOR:

for%ain(*.txt)dotype%a

这些还不是FOR最强大的功能。

我认为它最强大的功能,表现在以下这些高级应用:

1.可以用/r参数遍历整个目录树

2.可以用/f参数将文本文件内容作为循环范围

3.可以用/f参数将某一命令执行结果作为循环范围

4.可以用%~操作符将文件名分离成文件名、扩展名、盘符等独立部分

现分别举例说明如下:

1.用/r遍历目录树

当用*.*或*.txt等文件名通配符作为for/r的循环范围时,可以对当前目录下所有文件(包括子目录里面的文件)进行操作。

举个例子,你想在当前目录的所有txt文件(包括子目录)内容中查找"bluebear"字样,但由于find本身不能遍历子目录,所以我们用for:

for/r.%ain(*.txt)do@find"bluebear"%a

find前面的@只是让输出结果不包括find命令本身。

这是DOS很早就有的功能。

和FOR无关。

当用.作为循环范围时,for只将子目录的结构(目录名)作为循环范围,而不包括里面的文件。

有点象TREE命令,不过侧重点不同。

TREE的重点是用很漂亮易读的格式输出,而FOR的输出适合一些自动任务,例如,我们都知道用CVS管理的项目中,每个子目录下都会有一个CVS目录,有时在软件发行时我们想把这些CVS目录全部去掉:

for/r.%ain(.)do@ifexist%a\CVSrd/s/q%a\CVS

先用ifexist判断一下,是因为for只是机械的对每个目录进行列举,如果有些目录下面没有CVS也会被执行到。

用ifexist判断一下比较安全。

这种删除命令威力太大,请小心使用。

最好是在真正执行以上的删除命令前,将rd/s/q换成@echo先列出要删出的目录,确认无误后再换回rd/s/q:

for/r.%ain(.)do@ifexist%a\CVS@echo%a\CVS

可能目录中会多出一层".",比如c:

\proj\release\.\CVS,但不会影响命令的执行效果。

2.将某一文件内容或命令执行结果作为循环范围:

假如你有一个文件todel.txt,里面是所有要删除的文件列表,现在你想将里面列出的每个文件都删掉。

假设这个文件是每个文件名占一行,象这样:

c:

\temp\a1.txt

c:

\temp\a2.txt

c:

\temp\subdir\b3.txt

c:

\temp\subdir\b4.txt

那么可以用FOR来完成:

for/f%ain(todel.txt)dodel%a

这个命令还可以更强大。

比如你的todel.txt并不是象上面例子那么干净,而是由DIR直接生成,有一些没用的信息,比如这样:

VolumeindriveDisDATA

VolumeSerialNumberisC47C-9908

DirectoryofD:

\tmp

09/26/200112:

50PM18,426alg0925.txt

12/02/200104:

29AM795bsample.txt

04/11/200204:

18AM2,043invitation.txt

4File(s)25,651bytes

0Dir(s)4,060,700,672bytesfree

for仍然可以解出其中的文件名并进行操作:

for/f"skip=5tokens=5"%ain(todel.txt)do@ifexist%aDEL%a

当然,上面这个命令是在进行删除,如果你只是想看看哪些文件将被操作,把DEL换成echo:

for/f"skip=5tokens=5"%ain(todel.txt)do@ifexist%aecho%a

你将看到:

alg0925.txt

bsample.txt

invitation.txt

skip=5表示跳过前5行(就是DIR输出的头部信息),tokens=5表示将每行的第5列作为循环值放入%a,正好是文件名。

在这里我加了一个文件存在判断,是因为最后一行的"free"刚好也是第5列,目前还想不出好的办法来滤掉最后两行,所以检查一下可保万无一失。

3.可以用/f参数将某一命令执行结果作为循环范围

非常有用的功能。

比如,我们想知道目前的环境变量有哪些名字(我们只要名字,不要值)。

可是SET命令的输出是“名字=值”的格式,现在可以用FOR来只取得名字部分:

FOR/F"delims=="%iIN('set')DO@echo%i

将看到:

ALLUSERSPROFILE

APPDATA

CLASSPATH

CommonProgramFiles

COMPUTERNAME

ComSpec

dircmd

HOMEDRIVE

......

这里是将set命令执行的结果拿来作为循环范围。

delims==表示用=作为分隔符,由于FOR/F默认是用每行第一个TOKEN,所以可以分离出变量名。

如果是想仅列出值:

FOR/F"delims==tokens=2"%iIN('set')DO@echo%i

tokens=2和前例相同,表示将第二列(由=作为分隔符)作为循环值。

再来个更有用的例子:

我们知道date/t(/t表示不要询问用户输入)的输出是象这样的:

Sat07/13/2002

现在我想分离出日期部分,也就是13:

for/f"tokens=3delims=/"%ain('date/t')do@echo%a

实际上把tokens后面换成1,2,3或4,你将分别得到Sat,07,13和2002。

注意delims=/后面还有个空格,表示/和空格都是分隔符。

由于这个空格delims必须是/f选项的最后一项。

再灵活一点,象本文开头提到的,将日期用2002-07-13的格式输出:

for/f"tokens=2,3,4delims=/"%ain('date/t')do@echo%c-%a-%b

当tokens后跟多个值时,将分别映射到%a,%b,%c等。

实际上跟你指定的变量有关,如果你指定的是%i,它们就会用%i,%j,%k等。

灵活应用这一点,几乎没有做不了的事。

4.可以用%~操作符将文件名分离成文件名、扩展名、盘符等独立部分

这个比较简单,就是说将循环变量的值自动分离成只要文件名,只要扩展名,或只要盘符等等。

例:

要将c:

\mp3下所有mp3的歌名列出,如果用一般的dir/b/s或for/r,将会是这样:

g:

\mp3\Archived\05-18-01-A\游鸿明-下沙\游鸿明-01下沙.mp3

g:

\mp3\Archived\05-18-01-A\游鸿明-下沙\游鸿明-0221个人.mp3

......

g:

\mp3\Archived\05-18-01-A\王菲-寓言\王菲-阿修罗.mp3

g:

\mp3\Archived\05-18-01-A\王菲-寓言\王菲-彼岸花.mp3

g:

\mp3\Archived\05-18-01-A\王菲-寓言\王菲-不爱我的我不爱.mp3

......

如果我只要歌名(不要路径和".mp3"):

游鸿明-01下沙

游鸿明-0221个人

......

王菲-阿修罗

王菲-彼岸花

王菲-不爱我的我不爱

......

那么可以用FOR命令:

for/rg:

\mp3%ain(*.mp3)do@echo%~na

批处理FOR命令中的变量2007年10月19日星期五04:

25FOR命令中有一些变量,他们的用法许多新手朋友还不太了解,今天给大家讲解他们的用法!

先把FOR的变量全部列出来:

~I-删除任何引号("),扩展%I

%~fI-将%I扩展到一个完全合格的路径名

%~dI-仅将%I扩展到一个驱动器号

%~pI-仅将%I扩展到一个路径

%~nI-仅将%I扩展到一个文件名

%~xI-仅将%I扩展到一个文件扩展名

%~sI-扩展的路径只含有短名

%~aI-将%I扩展到文件的文件属性

%~tI-将%I扩展到文件的日期/时间

%~zI-将%I扩展到文件的大小

%~$PATH:

I-查找列在路径环境变量的目录,并将%I扩展

到找到的第一个完全合格的名称。

如果环境变量名

未被定义,或者没有找到文件,此组合键会扩展到

空字符串

我们可以看到每行都有一个大写字母"I",这个I其实就是我们在FOR带入的变量,我们FOR语句代入的变量名是什么,这里就写什么.

比如:

FOR/F%%zIN('set')DO@echo%%z

这里我们代入的变量名是z那么我们就要把那个I改成z,例如%~fI改为%~fz

至于前面的%~p这样的内容就是语法了!

好开始讲解:

~I-删除任何引号("),扩展%I

这个变量的作用就如他的说明,删除引号!

我们来看这个例子:

首先我们在桌面建立一个名字为temp.txt文本文件,在里面输入这些内容

"1111

2222"

"3333"

44"44

然后在建立个BAT文件代码如下:

FOR/F"delims="%%iIN(temp.txt)DO@echo%%~i

pause

执行后,我们看CMD的回显如下:

1111

2222"

3333

44"44

和之前temp.txt中的内容对比一下,我们会发现第一行和第三行的引号都消失了,这就是删除引号~i的作用了!

删除引号规则如下(BAT兄补充!

1、若字符串首尾同时存在引号,则删除首尾的引号;

2、若字符串尾不存在引号,则删除字符串首的引号;

3、如果字符串中间存在引号,或者只在尾部存在引号,则不删除。

%~fI-将%I扩展到一个完全合格的路径名

看例子:

把代码保存放在随便哪个地方,我这里就放桌面吧.

FOR/F"delims=="%%iIN('dir/b')DO@echo%%~fi

pause

执行后显示内容如下

C:

\DocumentsandSettings\Administrator\桌面\test.bat

C:

\DocumentsandSettings\Administrator\桌面\test.vbs

当我把代码中的%%~fi直接改成%%i

FOR/F"delims=="%%iIN('dir/b')DO@echo%%i

pause

执行后就会显示这些内容

test.bat

test.vbs

通过对比,我们很容易就看出没有路径了,这就是"将

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2