最全批处理命令学习资料【完美版】

最全批处理命令学习资料【完美版】
最全批处理命令学习资料【完美版】

一:批处理文件

批处理文件是扩展名为·bat或·cmd的文本文件,包含一条或多条命令,由DOS或Windows系统内嵌的命令解释器来解释运行。

批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。

二:常用命令:

1.echo 和@:

@ #关闭单行回显

echo off #从下一行开始关闭回显

@echo off #从本行开始关闭回显,一般批处理第一行都是这个

echo on #从下一行开始打开回显

echo #显示当前是echo off 状态还是echo on 状态

echo. #输出一个”回车换行”,空白行

#(同echo, echo; echo+ echo[ echo] echo/ echo")

2.errorlevel

echo %errorlevel%

每个命令运行结束,可以用这个命令行格式查看返回码

默认值为0,一般命令执行出错会设errorlevel 为1

目录操作类命令:

3.dir 显示磁盘目录命令

dir #显示当前目录中的文件和子目录

dir /a #显示当前目录中的文件和子目录,包括隐藏文件和系统文件

dir c: /a:d #显示C 盘当前目录中的目录

dir c: /a:-d #显示C 盘根目录中的文件

dir c:" /b/p #/b只显示文件名,/p分页显示

dir c:" /b/p #/w不显示详细信息

dir *.exe /s #显示当前目录和子目录里所有的.exe文件

4.以树形显示当前路径文件夹结构

tree /f #显示每个文件夹中文件的名字。

5.md 建立子目录

md d:"a"b"c #如果d:"a 不存在,将会自动创建中级目录

#如果命令扩展名被停用,则需要键入mkdir "a"b"c

6.cd 改变当前目录(进入)

cd \ #进入根目录

cd #显示当前目录

cd /d d:\sdk #可以同时更改盘符和目录

cd .. #返回上一级目录

7.rd 删除子目录命令

rd abc #删除当前目录里的abc 子目录,要求为空目录rd /s/q d:\temp #删除d:"temp 文件夹及其子文件夹和文件/q安静模式

磁盘操作类命令:

8.format 磁盘格式化命令

9.chkdsk 检查磁盘当前状态命令

https://www.360docs.net/doc/2b15196566.html,bel 建立磁盘卷标命令

11.vol 显示磁盘卷标命令

文件操作类命令:

12.copy 文件复制命令

copy c:\test.txt d:\test.bak

复制c:\test.txt 文件到d:\ ,并重命名为test.bak

copy con test.txt

从屏幕上等待输入,按Ctrl+Z 结束输入,输入内容存为test.txt文件con代表屏幕,prn代表打印机,nul代表空设备

copy 1.txt + 2.txt 3.txt

合并1.txt 和2.txt 的内容,保存为3.txt 文件

如果不指定3.txt ,则保存到1.txt

copy test.txt +

复制文件到自己,实际上是修改了文件日期

13.xcopy 目录复制命令

xcopy c:\ d:\

14.ren 文件改名命令

ren d:\temp tmp #支持对文件夹的重命名

15.attrib 修改文件属性命令

attrib filename #查看文件属性

+ #设置属性

- #清除属性

r #只读文件

a #存档文件

s #系统文件

H #隐藏文件

/S #处理当前文件夹及其所有子文件夹中的匹配文件/D #处理文件夹

16.type 显示文件内容

type c:\boot.ini #显示指定文件的内容,程序文件一般会显示乱码

type *.txt #显示当前目录里所有.txt文件的内容

17.del 删除文件命令

del d:\test.txt #删除指定文件,不能是隐藏、系统、只读文件del /q/a/f d:"temp"*.* #删除d:"temp 文件夹里面的所有文件包括

隐藏、只读、系统文件,不包括子目录del /q/a/f/s d:"temp"*.* #删除d:"temp 及子文件夹里面的所有文件包括

隐藏、只读、系统文件,不包括子目录

其他命令:

18.CLS 清屏幕命令

19.ver 查看系统版本号命令

20.time,date 系统时钟日期设置/显示命令

date #显示当前日期,并提示输入新日期,按""回车""略过输入

date/t #只显示当前日期,不提示输入新日期

time #显示当前时间,并提示输入新时间,按""回车""略过输入

time/t #只显示当前时间,不提示输入新时间

21.rem 和:: 注释

注释行不执行操作

22.color 设置默认的控制台前景和背景颜色

逻辑命令:

23.goto 和:

跳转命令

:label #行首为:表示该行是标签行,标签行不执行操作

goto label #跳转到指定的标签那一行

24.set 定义变量

引用变量可在变量名前后加% ,即%变量名%

set #显示目前所有可用的变量,包括系统变量和自定义的变量

echo %SystemDrive% #显示系统盘盘符。系统变量可以直接引用

set p #显示所有以p开头的变量,有就设errorlevel=1

set p=aa1bb1aa2bb2 #设置变量p,并赋值为= 后面的字符串,即aa1bb1aa2bb2

echo %p% #显示变量p代表的字符串,即aa1bb1aa2bb2 echo %p:~6% #显示变量p中第6个字符以后的所有字符,即aa2bb2

echo %p:~6,3% #显示第6个字符以后的3个字符,即aa2

echo %p:~0,3% #显示前3个字符,即aa1

echo %p:~-2% #显示最后面的2个字符,即b2

echo %p:~0,-2% #显示除了最后2个字符以外的其它字符,即aa1bb1aa2b

echo %p:aa=c% #用c替换变量p中所有的aa,即显示c1bb1c2bb2 echo %p:aa=% #将变量p中的所有aa字符串置换为空,即显示1bb12bb2

echo %p:*bb=c% #第一个bb及其之前的所有字符被替换为c,即显示c1aa2bb2

set p=%p:*bb=c% #设置变量p,赋值为%p:*bb=c% ,即c1aa2bb2 set /a p=39 #设置p为数值型变量,值为39

set /a p=39/10 #支持运算符,有小数时用去尾法,去尾得3,p=3

set /a p=p/10 #用/a 参数时,在= 后面的变量可以不加%直接引用set /a p=”1&0″#”与”运算,要加引号。其它支持的运算符参见set/?

set p= #取消p变量

set /p p=请输入

屏幕上显示”请输入”,并会将输入的字符串赋值给变量p注意这条可以用来取代choice 命令

注意变量在if 和for 的复合语句里是一次性全部替换的,如

@echo off

set p=aaa

if %p%==aaa (

echo %p%

set p=bbb

echo %p%

)

结果将显示

aaa

aaa

因为在读取if 语句时已经将所有%p% 替换为aaa

这里的""替换"",在/? 帮助里就是指""扩充""、""环境变量扩充"" 可以启用”延缓环境变量扩充”,用! 来引用变量,即!变量名!

@echo off

SETLOCAL ENABLEDELAYEDEXPANSION

set p=aaa

if %p%==aaa (

echo %p%

set p=bbb

echo !p!

)

ENDLOCAL

结果将显示

aaa

bbb

还有几个动态变量,运行set 看不到

%CD% #代表当前目录的字符串

%DATE% #当前日期

%TIME% #当前时间

%RANDOM% #随机整数,介于0~32767

%ERRORLEVEL% #当前ERRORLEVEL 值

%CMDEXTVERSION% #当前命令处理器扩展名版本号

%CMDCMDLINE% #调用命令处理器的原始命令行

可以用echo命令查看每个变量值,如echo %time%

注意%time% 精确到毫秒,在批处理需要延时处理时可以用到

[变量大全]

系统变量:

系统将其根据事先定义的条件自动赋值,也就是系统已经给他们定义了值,

不需要我们来给他赋值,我们只需要调用。

%ALLUSERSPROFILE% 本地返回“所有用户”配置文件的位置。

%APPDATA%本地返回默认情况下应用程序存储数据的位置。

%CD% 本地返回当前目录字符串。

%CMDCMDLINE% 本地返回用来启动当前的Cmd.exe 的准确命令行。

%CMDEXTVERSION% 系统返回当前的“命令处理程序扩展”的版本号。

%COMPUTERNAME%系统返回计算机的名称。

%COMSPEC%系统返回命令行解释器可执行程序的准确路径。

%DATE% 系统返回当前日期。使用与date /t 命令相同的格式。由Cmd.exe 生成。

%ERRORLEVEL% 系统返回上一条命令的错误代码。通常用非零值表示错误。

%HOMEDRIVE%系统返回连接到用户主目录的本地工作站驱动器号。基于主目录值而设置。用

户主目录是在“本地用户和组”中指定的。

%HOMEPATH% 系统返回用户主目录的完整路径。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。

%HOMESHARE% 系统返回用户的共享主目录的网络路径。基于主目录值而设置。用户主目录是

在“本地用户和组”中指定的。

%LOGONSERVER% 本地返回验证当前登录会话的域控制器的名称。

%NUMBER_OF_PROCESSORS%系统指定安装在计算机上的处理器的数目。

%OS% 系统返回操作系统名称。Windows 2000 显示其操作系统为Windows_NT。

%PATH%系统指定可执行文件的搜索路径。

%PATHEXT% 系统返回操作系统认为可执行的文件扩展名的列表。

%PROCESSOR_ARCHITECTURE%系统返回处理器的芯片体系结构。

%PROCESSOR_IDENTFIER%系统返回处理器说明。

%PROCESSOR_LEVEL%系统返回计算机上安装的处理器的型号。

%PROCESSOR_REVISION%系统返回处理器的版本号。

%PROMPT%本地返回当前解释程序的命令提示符设置。由Cmd.exe 生成。

%RANDOM% 系统返回0 到32767 之间的任意十进制数字。由Cmd.exe 生成。

%SYSTEMDRIVE%系统返回包含Windows server operating system 根目录(即系统根目录)的驱动器。

%SYSTEMROOT% 系统返回Windows server operating system 根目录的位置。

%TEMP%和%TMP%系统和用户返回对当前登录用户可用的应用程序所使用的默认临时目录。%TIME%系统返回当前时间。使用与time /t 命令相同的格式。由Cmd.exe 生成。

%USERDOMAIN%本地返回包含用户帐户的域的名称。

%USERNAME% 本地返回当前登录的用户的名称。

%USERPROFILE%本地返回当前用户的配置文件的位置。

%WINDIR%系统返回操作系统目录的位置。

25.pause 暂停命令

26.if 判断命令

if ERRORLEVEL number command #判断命令是否正确运行

通常情况下,命令执行成功后,系统变量ERRORLEVEL会被设置成0,

若命令失败,或遇到非法命令,系统变量ERRORLEVEL会被设置成非0。

if string1==string2 command #判断某两个字符串是否相等

if exit filename command #判断驱动器、文件或文件夹是否存在

if defined var command #判断某个变量是否已经被赋值

if 1 equ 2 #判断某两个数值是否相等

EQU #等于==

NEQ #不等于!=

LSS #小于<

LEQ #小于或等于<=

GTR #大于>

GEQ #大于或等于>=

注:#ELSE 子句必须出现在同一行上的IF 之后

Example:

if ""%1""==""/a"" echo

第一个参数是/a

if /i ""%1"" equ ""/a"" echo

第一个参数是/a

/i 表示不区分大小写,equ 和== 是一样的

其它运算符参见if/?

if exist c:\test.bat echo 存在c:\test.bat文件

if not exist c:\windows (

echo 不存在c:"windows文件夹

)

if exist c:\test.bat (

echo 存在c:\test.bat

) else (

echo 不存在c:\test.bat

)

if exist 文件名待执行的命令

如果有指定的文件,则条件成立,运行命令,否则运行下一句。

如if exist config.sys edit config.sys

if errorlevel / if not errorlevel 数字待执行的命令

如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。

如if errorlevel 2 goto x2

27.call 命令调用子程序

CALL [drive:][path]filename [batch-parameters]

batch-parameters 指定批处理程序所需的命令行信息(参数)。

28.exit命令退出命令

29.for循环

/F #分块提取文件

/D #显示当前目录下所有指定的目录名称

/R #枚举文件和目录

/L #计次循环

子参数:tokens(块)、delims(分块标志)、eol(忽略行)、skip(跳过行)、userbackq(支持长路径名)

CMD窗口中:

for %I in (command1) do command2

批处理中:

for %%I in (command1) do command2

1、for、in和do是for语句的关键字,它们三个缺一不可;

2、%%I是for语句中对形式变量的引用,就算它在do后的语句中没有参与语句的执行,也是必须出现的;

3、in之后,do之前的括号不能省略;

4、command1表示字符串或变量,command2表示字符串、变量或命令语句;

@echo off

for %%I in (https://www.360docs.net/doc/2b15196566.html,) do echo %%I

pause

1、for语句的形式变量I,可以换成26个字母中的任意一个,这些字母会区分大小写,也就是说,%%I和%%i会被认为不是同一个变量;形式变量I还可以换成其他的字符,但是,为了不与批处理中的%0~%9这10个形式变量发生冲突,请不要随意把%%I替换为%%0 ~%%9中的任意一个;

2、in和do之间的command1表示的字符串或变量可以是一个,也可以是多个,每一个字符串或变量,我们称之为一个元素,每个元素之间,用空格键、跳格键、逗号、分号或等号分隔;

3、for语句依次提取command1中的每一个元素,把它的值赋予形式变量I,带到do后的command2中参与命令的执行;并且每次只提取一个元素,然后执行一次do后的命令语句,而无论这个元素是否被带到command2中参与了command2的运行;当执行完一次do后的语句之后,再提取command1中的下一个元素,再执行一次command2,如此循环,直到command1中的所有元素都已经被提取完毕,该for语句才宣告执行结束;

Example:

for /f "tokens=1 delims= " %%a in (test.txt) do (

echo %%a

)

取第1行并显示

for /f "tokens=1,2 delims= " %%a in (test.txt) do (

echo %%a %%b

)

取1,2行并显示

for /f "tokens=1-3 delims= " %%a in (test.txt) do ( echo %%a %%b %%c

)

取1到3行并显示

for /f "tokens=2,3,* delims= " %%a in (test.txt) do ( echo %%a %%b %%c

)

取2,3行并显示

for /f "eol=! tokens=*" %%a in (test.txt) do (

echo %%a

)

忽略!开头的行并显示

for /f "skip=3 tokens=*" %%a in (test.txt) do ( echo %%a

)

忽略前三行并显示

for /d %%a in (pro*,doc*) do (

echo %%a

)

显示以pro开头的目录名称,显示以doc开头的目录名称

for /r %systemroot% %%a in (*.tmp) do (

echo %%a

)

显示root目录下后缀名为.tmp的文件及目录

set i=0

for /l %%a in (1,1,100) do (

set /a i+=1

)

echo 结算结果:%i%

(变量起始值,每次递加的步长,终止值)

for /f "usebackq" %%a in ("C:\Program Files\jksing.txt") do ( echo %%a

)

显示jksing中的内容,若去掉usebackq,则输出C:\Program for /r %%i in (*.txt) do (

echo %%~fi

)

for %%i in (c: d: e: f:) do echo %%i

依次调用小括号里的每个字符串,执行do 后面的命令

注意%%i,在批处理中for 语句调用参数用2个%

默认的字符串分隔符是""空格键"",""Tab键"",""回车键""

for %%i in (*.txt) do find ""abc"" %%i

对当前目录里所有的txt文件执行find 命令

for /r . %%i in (*.txt) do find ""abc"" %%i

在当前目录和子目录里所有的.txt文件中搜索包含abc 字符串的行

for /r . %%i in (.) do echo %%~pn

显示当前目录名和所有子目录名,包括路径,不包括盘符

for /r d:"mp3 %%i in (*.mp3) do echo %%i>>d:"mp3.txt

把d:"mp3 及其子目录里的mp3文件的文件名都存到d:"mp3.txt 里去

for /l %%i in (2,1,8) do echo %%i

生成2345678的一串数字,2是数字序列的开头,8是结尾,1表示每次加1 for /f %%i in ('set') do echo %%i

对set 命令的输出结果循环调用,每行一个

for /f ""eol=P"" %%i in ('set') do echo %%i

取set 命令的输出结果,忽略以P 开头的那几行

for /f %%i in (d:"mp3.txt) do echo %%i

显示d:"mp3.txt 里的每个文件名,每行一个,不支持带空格的名称

for /f ""delims="" %%i in (d:"mp3.txt) do echo %%i

显示d:"mp3.txt 里的每个文件名,每行一个,支持带空格的名称

for /f ""skip=5 tokens=4"" %%a in ('dir') do echo %%a

对dir 命令的结果,跳过前面5行,余下的每行取第4列

每列之间的分隔符为默认的""空格""

可以注意到dir 命令输出的前5行是没有文件名的

for /f ""tokens=1,2,3 delims=- "" %%a in ('date /t') do (

echo %%a

echo %%b

echo %%c

)

对date /t 的输出结果,每行取1、2、3列

第一列对应指定的%%a ,后面的%%b 和%%c 是派生出来的,对应其它列分隔符指定为- 和""空格"",注意delims=- 后面有个""空格""

其中tokens=1,2,3 若用tokens=1-3 替换,效果是一样的

for /f ""tokens=2* delims=- "" %%a in ('date /t') do echo %%b

取第2列给%%a ,其后的列都给%%b

30.参数%0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %* i%%

命令行传递给批处理的参数

%0 #批处理文件本身

%1 #第一个参数

%9 #第九个参数

%* #从第一个参数开始的所有参数

参数扩展:

%~1 #删除引号(""),扩充%1

%~f1 #将%1 扩充到一个完全合格的路径名

%~d1 #仅将%1 扩充到一个驱动器号

%~p1 #仅将%1 扩充到一个路径

%~n1 #仅将%1 扩充到一个文件名

%~x1 #仅将%1 扩充到一个文件扩展名

%~s1 #扩充的路径指含有短名

%~a1 #将%1 扩充到文件属性

%~t1 #将%1 扩充到文件的日期/时间

%~z1 #将%1 扩充到文件的大小

%~$PATH #查找列在PATH 环境变量的目录,并将%1扩充到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串可以组合修定符来取得多重结果:

%~dp1 #只将%1 扩展到驱动器号和路径

%~nx1 #只将%1 扩展到文件名和扩展名

%~dp$PATH: #在列在PATH 环境变量中的目录里查找%1,并扩展到找到的第一个文件的驱动器号和路径

%~ftza1 #将%1 扩展到类似DIR 的输出行

31.find 查找命令(外部命令)

在文件中搜索字符串

find ""abc"" c:"test.txt

在c:"test.txt 文件里查找含abc 字符串的行

如果找不到,将设errorlevel 返回码为1

find /i “abc”c:"test.txt

查找含abc 的行,忽略大小写

find /c ""abc"" c:"test.txt

显示含abc 的行的行数

32.more 逐屏显示输出

more c:"test.txt #逐屏显示c:"test.txt 的文件内容

33.assoc 和ftype

文件关联

assoc 设置'文件扩展名'关联,关联到'文件类型'

ftype 设置'文件类型'关联,关联到'执行程序和参数'

当你双击一个.txt文件时,windows并不是根据.txt直接判断用notepad.exe 打开

而是先判断.txt属于txtfile '文件类型'

再调用txtfile 关联的命令行txtfile=%SystemRoot%"system32"NOTEPAD.EXE %1 可以在""文件夹选项""→""文件类型""里修改这2种关联

assoc #显示所有'文件扩展名'关联

assoc .txt #显示.txt代表的'文件类型',结果显示 .txt=txtfile

assoc .doc #显示.doc代表的'文件类型',结果显示 .doc=Word.Document.8 assoc .exe #显示.exe代表的'文件类型',结果显示 .exe=exefile

ftype #显示所有'文件类型'关联

ftype exefile #显示exefile类型关联的命令行,结果显示exefile=""%1"" %* assoc .txt=Word.Document.8

设置.txt为word类型的文档,可以看到.txt文件的图标都变了

assoc .txt=txtfile

恢复.txt的正确关联

ftype exefile=""%1"" %*

恢复exefile 的正确关联

如果该关联已经被破坏,可以运行https://www.360docs.net/doc/2b15196566.html, ,再输入这条命令

34.pushd 和popd

切换当前目录

@echo off

c: & cd" & md mp3 #在C:" 建立mp3 文件夹

md d:"mp4 #在D:" 建立mp4 文件夹

cd /d d:"mp4 #更改当前目录为d:"mp4

pushd c:"mp3 #保存当前目录,并切换当前目录为c:"mp3 popd #恢复当前目录为刚才保存的d:"mp4

35.subst 映射磁盘

subst z: "server"d #这样输入z:就可以访问"server"d了

subst z: /d #取消该映射

subst #显示目前所有的映时

常用特殊符号:

1.@ #命令行回显屏蔽符

2.% #批处理变量引导符

3.> #重定向符

4.>> #重定向符

5.<,>&,<& #重定向符

6.| #命令管道符

7.^ #转义字符

8.& #组合命令

9.&& #组合命令

10.|| #组合命令

11."" #字符串界定符

详细介绍:

1.% 批处理变量引导符

2.> ,>> 重定向符

> 清除文件中原有的内容后再写入

>> 追加内容到文件末尾,而不会清除原有的内容主要将本来显示在屏幕上的内容输出到指定文件中

指定文件如果不存在,则自动生成该文件

Example:

echo hello > 1.txt

echo world >>1.txt

这时候1.txt 内容如下:

hello

world

type c:"test.txt >prn

屏幕上不显示文件内容,转向输出到打印机

echo hello world>con

批处理内部命令简介

一.简单批处理内部命令简介 1.Echo 命令 打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo命令将显示当前回显设置。 语法 echo [{on off}] [message] Sample:@echo off / echo hello world 在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用>>>^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。 2.@ 命令 表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。 Sample:@echo off @echo Now initializing the program,please wait aminite... @format X: /q/u/autoset (format这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。) 3.Goto 命令 指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。 语法:goto label(label是参数,指定所要转向的批处理程序中的行。) Sample: if {%1}=={} goto noparms if {%2}=={} gotonoparms(如果这里的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命令会使程序挂起,以便您更换磁盘,然后按任意键继续处理。

批处理命令for语句基本用法

批处理命令for语句的基本用法 [系列教程]批处理for语句从入门到精通[20101225更新] ____________________________版主提醒 ____________________________ 文档来自于网络搜索 为了避免影响技术讨论、提高看帖的舒适性,请大家不要在此帖下跟 无实质内容的口水帖,特别是纯顶、纯支持、纯感谢、路过之类的帖子, 管理人员将不定期清理此类回帖,请大家多参与讨论少灌水,与人方便, 终将给自己带来方便,谢谢合作。 ________________________________________________________________ 文档来自于网络搜索 批处理是一门简单的脚本语言,虽然不能独当一面,但是,若作为工作中的辅助工具,绝对会让大家有随用随写、称心如意的畅快感。 文档来自于网络搜索 和其他语言相比,批处理语言有其先天性的优势: 1、系统自带,无需另行安装; 2、命令少,语句简洁,上手非常快; 3、编写出来的脚本小巧玲珑,随写随用; 但是,因为它以命令行方式工作,操作多有不便,在图形界面大行其道的windows世界里,多多少少会让大众望而却步;就算是对命令行有好感的新手,面对微软有如天书的帮助文件,很多人也会败下阵来,因此,论坛里很多会员也发出了编写系统的批处理教程的呼声。

文档来自于网络搜索 编写系统的批处理新手教程,一直是论坛管理层讨论的热点问题,但是,各位管理人员大多都有工作在身,而系统的教程涉及的面是如此之广,面对如此浩大的工程,仅凭一两个人的力量,是难以做好的,因此,本人退而求其次,此次发布的教程,以专题的形式编写,日后人手渐多之后,再考虑组织人力编写全面的教程。 文档来自于网络搜索之所以选择最难的for,一是觉得for最为强大,是大多数人最希望掌握的;二是若写其他命令教程,如果没有for的基础,展开来讲解会无从下手;三是for也是批处理中最复杂最难掌握的语句,把它攻克了,批处理的学习将会一片坦途。 文档来自于网络搜索 这次的for语句系列教程,打算按照for语句的5种句式逐一展开,在讲解for/f的时候,会穿插讲解批处理中一个最为关键、也是新手最容易犯错的概念:变量延迟,大纲如下: 文档来自于网络搜索一前言 二for语句的基本用法 三for /f(含变量延迟) 四for /r 五for /d 六for /l 遵照yibantiaokuan的建议,在顶楼放出此教程的txt版本、word版本和pdf版本,以方便那些离线浏览的会员。 文档来自于网络搜索[本帖最后由namejm于2010-12-26 02:36编辑]

实用批处理(bat)教程

目录 第一章批处理基础 第一节常用批处理内部命令简介 1、REM 和:: 2、ECHO 和@ 3、PAUSE 4、ERRORLEVEL 5、TITLE 6、COLOR 7、mode 配置系统设备 8、GOTO 和: 9、FIND 10、START 11、assoc 和ftype 12、pushd 和popd 13、CALL 14、shift 15、IF 16、setlocal 与变量延迟(ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION 启动或停用延缓环境变量扩展名。) 17、ATTRIB显示或更改文件属性 第二节常用特殊符号 1、@命令行回显屏蔽符 2、%批处理变量引导符 3、> 重定向符 4、>>重定向符 5、<、>、<& 重定向符 6、|命令管道符 7、^转义字符 8、组合命令 9、& 组合命令 10、||组合命令 11、\"\"字符串界定符 12、, 逗号 13、; 分号 14、() 括号 15、! 感叹号 第二章FOR命令详解 一、基本格式 二、参数/d仅为目录 三、参数/R递归(文件名) 四、参数/L迭代数值范围 五、参数/F迭代及文件解析 第三章FOR命令中的变量

一、~I- 删除任何引号(\"),扩展%I 二、%~fI- 将%I 扩展到一个完全合格的路径名 三、%~dI- 仅将%I 扩展到一个驱动器号 四、%~pI- 仅将%I 扩展到一个路径 五、%~nI- 仅将%I 扩展到一个文件名 六、%~xI- 仅将%I 扩展到一个文件扩展名 七、%~sI- 扩展的路径只含有短名 八、%~aI- 将%I 扩展到文件的文件属性 九、%~tI- 将%I 扩展到文件的日期/时间 十、%~zI- 将%I 扩展到文件的大小 十一、%~$PATH:I 第四章批处理中的变量 一、系统变量 二、自定义变量 第五章set命令详解 一、用set命令设置自定义变量 二、用set命令进行简单计算 三、用set命令进行字符串处理 1、字符串替换 2、字符串截取 第六章if命令讲解 第一种用法:IF [NOT] ERRORLEVEL number command 第二种用法:IF [NOT] string1==string2 command 第三种用法:IF [NOT] EXIST filename command 第四种用法:IF增强的用法 第七章DOS编程高级技巧 一、界面设计 二、if…else…条件语句 三、循环语句 四、子程序 五、用ftp命令实现自动下载 六、用7-ZIP实现命令行压缩和解压功能 七、调用VBScript程序 八、将批处理转化为可执行文件 九、时间延迟 1、利用ping命令延时 2、利用for命令延时 3、利用vbs延迟函数,精确度毫秒,误差1000毫秒内 4、仅用批处理命令实现任意时间延迟,精确度10毫秒,误差50毫秒内 十、模拟进度条 十一、特殊字符的输入及应用 十二、随机数(%random%)的应用技巧 十三、变量嵌套与命令嵌套 1、更正了所有的错别字,适当排版,增加条理性。

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

DOS内部命令和批处理命令列表 Wikipedia,自由的百科全书 MS-DOS 7.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 功能:显示目录中的文件和子目录列表。

DOS批处理命令大全

写批处理 扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件。 ==== willsort 编注======================================= .bat是dos下的批处理文件 .cmd是nt内核命令行环境的另一种批处理文件 从更广义的角度来看,unix的shell脚本以及其它操作系统甚至应用程序中由外壳进行解释执行的文本,都具有与批处理文件十分相似的作用,而且同样是由专用解释器以行为单位解释执行,这种文本形式更通用的称谓是脚本语言。所以从某个程度分析,batch, unix shell, awk, basic, perl 等脚本语言都是一样的,只不过应用的范围和解释的平台各有不同而已。甚至有些应用程序仍然沿用批处理这一称呼,而其内容和扩展名与dos的批处理却又完全不同。 =================================== 首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS 提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。 ==== willsort 题注=================== 批处理文件中完全可以使用非dos命令,甚至可以使用不具有可执行特性的普通数据性文件,这缘于wind ows系统这个新型解释平台的涉入,使得批处理的应用越来越"边缘化"。所以我们讨论的批处理应该限定在dos环境或者命令行环境中,否则很多观念和设定都需要做比较大的变动。 ======================== 其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。当然,批处理文件的编程能力与C语言等编程语句比起来是十分有限的,也是十分不规范的。批处理的程序语句就是一条条的DOS命令(包括内部命令和外部命令),而批处理的能力主要取决于你所使用的命令。 ==== willsort 编注================== 批处理文件(batch file)也可以称之为批处理程序(batch program),这一点与编译型语言有所不同,就c语言来说,扩展名为c或者cpp的文件可以称之为c语言文件或者c语言源代码,但只有编译连接后的exe 文件才可以称之为c语言程序。因为批处理文件本身既具有文本的可读性,又具有程序的可执行性,这些称谓的界限是比较模糊的。 =========================== 第三,每个编写好的批处理文件都相当于一个DOS的外部命令,你可以把它所在的目录放到你的DOS搜索路径(path)中来使得它可以在任意位置运行。一个良好的习惯是在硬盘上建立一个bat或者batch目录(例如C:\BATCH),然后将所有你编写的批处理文件放到该目录中,这样只要在path中设置上c:\batch,你就可以在任意位置运行所有你编写的批处理程序。 ==== willsort 编注===== 纯以dos系统而言,可执行程序大约可以细分为五类,依照执行优先级由高到低排列分别是:DOSKEY宏命令(预先驻留内存),https://www.360docs.net/doc/2b15196566.html,中的内部命令(根据内存的环境随时进驻内存),以com为扩

最全批处理命令学习资料【完美版】

一:批处理文件 批处理文件是扩展名为·bat或·cmd的文本文件,包含一条或多条命令,由DOS或Windows系统内嵌的命令解释器来解释运行。 批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。 二:常用命令: 1.echo 和@: @ #关闭单行回显 echo off #从下一行开始关闭回显 @echo off #从本行开始关闭回显,一般批处理第一行都是这个 echo on #从下一行开始打开回显 echo #显示当前是echo off 状态还是echo on 状态 echo. #输出一个”回车换行”,空白行 #(同echo, echo; echo+ echo[ echo] echo/ echo") 2.errorlevel echo %errorlevel% 每个命令运行结束,可以用这个命令行格式查看返回码 默认值为0,一般命令执行出错会设errorlevel 为1 目录操作类命令: 3.dir 显示磁盘目录命令 dir #显示当前目录中的文件和子目录 dir /a #显示当前目录中的文件和子目录,包括隐藏文件和系统文件

dir c: /a:d #显示C 盘当前目录中的目录 dir c: /a:-d #显示C 盘根目录中的文件 dir c:" /b/p #/b只显示文件名,/p分页显示 dir c:" /b/p #/w不显示详细信息 dir *.exe /s #显示当前目录和子目录里所有的.exe文件 4.以树形显示当前路径文件夹结构 tree /f #显示每个文件夹中文件的名字。 5.md 建立子目录 md d:"a"b"c #如果d:"a 不存在,将会自动创建中级目录 #如果命令扩展名被停用,则需要键入mkdir "a"b"c 6.cd 改变当前目录(进入) cd \ #进入根目录 cd #显示当前目录 cd /d d:\sdk #可以同时更改盘符和目录 cd .. #返回上一级目录 7.rd 删除子目录命令 rd abc #删除当前目录里的abc 子目录,要求为空目录rd /s/q d:\temp #删除d:"temp 文件夹及其子文件夹和文件/q安静模式 磁盘操作类命令: 8.format 磁盘格式化命令 9.chkdsk 检查磁盘当前状态命令

目前为止最全的批处理教程

目录 第一章 批处理基础 第一节 常用批处理内部命令简介 1、REM 和 :: 2、ECHO 和 @ 3、PAUSE 4、ERRORLEVEL 5、TITLE 6、COLOR 7、mode 配置系统设备 8、GOTO 和 : 9、FIND 10、START 11、assoc 和 ftype 12、pushd 和 popd 13、CALL 14、shift 15、IF 16、setlocal 与 变量延迟(ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION 启动或停用延缓环境变量扩展名。) 17、ATTRIB显示或更改文件属性 第二节 常用特殊符号

1、@命令行回显屏蔽符 2、%批处理变量引导符 3、> 重定向符 4、>>重定向符 5、<、>、<& 重定向符 6、|命令管道符 7、^转义字符 8、组合命令 9、& 组合命令 10、||组合命令 11、\"\"字符串界定符 12、, 逗号 13、; 分号 14、() 括号 15、! 感叹号 第二章 FOR命令详解 一、基本格式 二、参数 /d仅为目录 三、参数 /R递归(文件名) 四、参数 /L迭代数值范围 五、参数 /F迭代及文件解析 第三章 FOR命令中的变量

一、 ~I- 删除任何引号(\"),扩展 %I 二、 %~fI- 将 %I 扩展到一个完全合格的路径名 三、 %~dI- 仅将 %I 扩展到一个驱动器号 四、 %~pI- 仅将 %I 扩展到一个路径 五、 %~nI- 仅将 %I 扩展到一个文件名 六、 %~xI- 仅将 %I 扩展到一个文件扩展名 七、 %~sI- 扩展的路径只含有短名 八、 %~aI- 将 %I 扩展到文件的文件属性 九、 %~tI- 将 %I 扩展到文件的日期/时间 十、 %~zI- 将 %I 扩展到文件的大小 十一、 %~$PATH:I 第四章 批处理中的变量 一、系统变量 二、自定义变量 第五章 set命令详解 一、用set命令设置自定义变量 二、用set命令进行简单计算 三、用set命令进行字符串处理 1、字符串替换 2、字符串截取 第六章 if命令讲解 第一种用法:IF [NOT] ERRORLEVEL number command

windows批处理文件(.bat&)

bat是dos下的批处理文件 .cmd是nt内核命令行环境的另一种批处理文件 从更广义的角度来看,unix的shell脚本以及其它操作系统甚至应用程序中由 外壳进行解释执行的文本,都具有与批处理文件十分相似的作用,而且同样是 由专用解释器以行为单位解释执行,这种文本形式更通用的称谓是脚本语言。 所以从某个程度分析,batch, unix shell, awk, basic, perl 等脚本语言都 是一样的,只不过应用的范围和解释的平台各有不同而已。甚至有些应用程序 仍然沿用批处理这一称呼,而其内容和扩展名与dos的批处理却又完全不同。 =================================== 首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部 分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批 处理文件。 ==== 注 =================== 批处理文件中完全可以使用非dos命令,甚至可以使用不具有可执行特性的普 通数据性文件,这缘于windows系统这个新型解释平台的涉入,使得批处理的 应用越来越"边缘化"。所以我们讨论的批处理应该限定在dos环境或者命令行 环境中,否则很多观念和设定都需要做比较大的变动。 ======================== 其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。当然,批处理文件的编程能力与C语言等编程语句比起来是十分 有限的,也是十分不规范的。批处理的程序语句就是一条条的DOS命令(包括 内部命令和外部命令),而批处理的能力主要取决于你所使用的命令。 ==== 注 ================== 批处理文件(batch file)也可以称之为批处理程序(batch program),这一点与编译型语言有所不同,就c语言来说,扩展名为c或者cpp的文件可以称之为 c语言文件或者c语言源代码,但只有编译连接后的exe文件才可以称之为c 语言程序。因为批处理文件本身既具有文本的可读性,又具有程序的可执行性,这些称谓的界限是比较模糊的。 =========================== 第三,每个编写好的批处理文件都相当于一个DOS的外部命令,你可以把它所 在的目录放到你的DOS搜索路径(path)中来使得它可以在任意位置运行。一个

windows批处理命令详解及脚本实例

批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。第一部分:批处理内部命令 1、REM REM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。例: REM 你现在看到的就是注解,这一句将不会被执行。在以后的例子中解释的内容都REM 会放在REM后面。请大家注意。 2、ECHO ECHO 是一个回显命令主要参数有OFF和ON,一般用ECHO message来显示一个特定的消息。例: Echo off Rem 以上代表关闭回显即不显示所执行的命令 Echo 这个就是消息。 Rem 以上代表显示"这就是消息"这列字符 执行结果: C:\>ECHO.BAT 这个就是消息。 3、GOTO GOTO 即为跳转的意思。在批处理中允许以":XXX"来构建一个标号然后用GOTO :标号直接来执行标号后的命令。例 :LABEL REM 上面就是名为LABEL的标号。 DIR C:\ DIR D:\ GOTO LABEL REM 以上程序跳转标号LABEL处继续执行。 4、CALL CALL 命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续

执行原来的批处理。例: 批处理2.BAT内容如下: ECHO 这就是2的内容 批处理1.BAT内容如下: ECHO 这是1的内容 CALL 2.BAT ECHO 1和2的内容全部显示完成 执行结果如下: C:\>1.BAT 这是1的内容 这就是2的内容 1和2的内容全部显示完成 5、PAUSE PAUSE 停止系统命令的执行并显示下面的内容。例: C:\> PAUSE 请按任意键继续. . . 6、IF IF 条件判断语句,语法格式如下: IF [NOT] ERRORLEVEL number command IF [NOT] string1==string2 command IF [NOT] EXIST filename command 说明: [NOT] 将返回的结果取反值即"如果没有"的意思。 ERRORLEVEL 是命令执行完成后返回的退出值 Number 退出值的数字取值范围0~255。判断时值的排列顺序应该又大到小。返回的值大于或等于指定的值时条件成立。 string1==string2 string1和string2都为字符的数据,英文字符的大小写将看做不同,这个条件中的等于号必须是2个(绝对相等),条件想等后即执行后面的command EXIST filename 为文件或目录存在的意思。 IF ERRORLEVEL这条语句必须放在某一个命令后面。执行命令后由IF ERRORLEVEL来

批处理常用命令及用法大全_-__打印

注:如果对某一命令还不是很熟悉,可以在命令行窗口下输入:命令名/?的方式来获得帮助。 1 echo 和 @回显控制命令 @ #关闭单行回显 echo off #从下一行开始关闭回显 @echo off #从本行开始关闭回显。一般批处理第一行都是这个 echo on #从下一行开始打开回显 echo #显示当前是 echo off 状态还是 echo on 状态echo. #输出一个"回车换行",一般就是指空白行 echo hello world #输出hello world "关闭回显"是指运行批处理文件时,不显示文件里的每条命令,只显示运行结果批处理开始和结束时,系统都会自动打开回显 2 errorlevel程序返回码 echo %errorlevel%每个命令运行结束,可以用这个命令行格式查看返回码用于判断刚才的命令是否执行成功默认值为0,一般命令执行出错会设 errorlevel 为1 3 dir显示目录中的文件和子目录列表 dir #显示当前目录中的文件和子目录 dir /a #显示当前目录中的文件和子目录,包括隐藏文件和系统文件 dir c: /a:d #显示 C 盘当前目录中的目录 dir c:\ /a:-d #显示 C 盘根目录中的文件 dir d:\mp3 /b/p #逐屏显示 d:\mp3 目录里的文件,只显示文件名,不显示时间和大小 dir *.exe /s显示当前目录和子目录里所有的.exe文件其中 * 是通配符,代表所有的文件名,还一个通配符 ? 代表一个任意字母或汉字如 c*.* 代表以 c 开头的所有文件?.exe 代表所有文件名是一个字母的.exe文件如果指定的目录或文件不存在,将返回 errorlevel 为1;每个文件夹的 dir 输出都会有2个子目录 . 和 ... 代表当前目录.. 代表当前目录的上级目录 dir . #显示当前目录中的文件和子目录 dir .. #显示当前目录的上级目录中的文件和子目录 其它参数可参考 dir /? 4 cd更改当前目录 cd mp3 #进入当前目录中的mp3 目录 cd .. #进入当前目录中的上级目录 cd\ #进入根目录 cd #显示当前目录 cd /d d:\mp3 #可以同时更改盘符和目录 cd "Documents and Settings"\All users文件名带空格,路径前需要加上引号!!如果更改到的目录不存在,则出错返回 errorlevel=1 5 md创建目录 md abc #在当前目录里建立子目录 abc md d:\a\b\c #如果 d:\a 不存在,将会自动创建 6 rd删除目录 rd abc #删除当前目录里的 abc 子目录,要求为空目录 rd /s/q d:\temp #删除 d:\temp 文件夹及其子文件夹和文件,不需要按 Y 确认 7 del删除文件 del d:\test.txt #删除指定文件,不能是隐藏、系统、只读文件 del *.*删除当前目录里的所有文件,不包括隐藏、系统、只读文件,要求按 Y 确认 del /q/a/f d:\temp\*.*删除 d:\temp 文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录 del /q/a/f/s d:\temp\*.*删除 d:\temp 及子文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录 8 ren文件重命名 ren 1.txt 2.bak #把 1.txt 更名为 2.bak ren *.txt *.ini #把当前目录里所有.txt文件改成.ini文件 ren d:\temp tmp #支持对文件夹的重命名 9 cls清屏 10 type显示文件内容 type c:\boot.ini #显示指定文件的内容,程序文件一般会显示乱码 type *.txt #显示当前目录里所有.txt文件的内容 11 copy拷贝文件 XCOPY复制组文件 COPY复制文件 拷贝目录和文件——xcopy 在拷贝单个文件时,可以使用copy命令完成,但当我们要成批拷贝文件,甚至连同子目录一起拷贝时,就要用到xcopy。 copy c:\test.txt d:\复制 c:\test.txt 文件到 d:\ copy c:\test.txt d:\test.bak复制 c:\test.txt 文件到 d:\ ,并重命名为 test.bak copy c:\*.*复制 c:\ 所有文件到当前目录,不包括隐藏文件和系统文件不指定目标路径,则默认目标路径为当前目录 copy con test.txt从屏幕上等待输入,按 Ctrl+Z 结束输入,输入内容存为test.txt文件con代表屏幕,prn 代表打印机,nul代表空设备 copy 1.txt + 2.txt 3.txt合并 1.txt 和 2.txt 的内容,保存为 3.txt 文件如果不指定 3.txt ,则保存到 1.txt 1

批处理命令For循环命令详解

分类:2010-06-11 13:0416793人阅读(0) 批处理for命令详解 FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能! 看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号) FOR 参数%%变量名IN (相关文件或命令) DO 执行的命令 参数:FOR有4个参数/d /l /r /f 他们的作用我在下面用例子解释 %%变量名:这个变量名可以是小写a-z或者大写A-Z,他们区分大小写,FOR会把每个读取到的值给他; IN:命令的格式,照写就是了; (相关文件或命令) :FOR要把什么东西读取然后赋值给变量,看下面的例子 do:命令的格式,照写就是了! 执行的命令:对每个变量的值要执行什么操作就写在这. 可以在CMD输入for /看系统提供的帮助!对照一下 FOR %%variable IN (set) DO command [command-parameters] %%variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以使用通配符。 command 指定对每个文件执行的命令。 command-parameters 为特定命令指定参数或命令行开关。 现在开始讲每个参数的意思 /d 仅为目录 如果Set (也就是我上面写的"相关文件或命令") 包含通配符(* 和),将对与Set 相匹配的每个目 录(而不是指定目录中的文件组)执行指定的Command。 系统帮助的格式:FOR /D %%variable IN (set) DO command 他主要用于目录搜索,不会搜索文件,看这样的例子 @echo off for /d %%i in (*) do @echo %%i pause 把他保存放在C盘根目录执行,就会把C盘目录下的全部目录名字打印出来,而文件名字一个也不显示!

批处理常用命令及用法大全

批处理常用命令及用法大全 说明:本文来自网络,由youxi01整理,由liqiochi修改完善。 阅读本文需要一定的dos基础概念,象:盘符、文件、目录(文件夹)、子目录、根目录、当前目录每个命令的完整说明请加/? 参数参考微软的帮助文档可以看到,在/? 帮助里,"命令扩展名"一词会经常出现"命令扩展名"是指相对于win98的dos版本而言,每个命令新增的功能 命令测试环境win2000proSP4win98的命令功能太少,就不作研究了 注:如果对某一命令还不是很熟悉,可以在命令行窗口下输入:命令名/?的方式来获得帮助。 例如:对dir命令的应用不熟悉,可以在命令行窗口下输入:dir /? 参数只列举常用参数。 注:errorlevel,msd,undelete在win7下不存在。 目录 1.echo 和@回显控制命令 (3) 2.shutdown 关机 (3) 3.dir显示目录中的文件和子目录列表 (4) 4.cd更改当前目录 (4) 5.md创建目录 (5) 6.rd删除目录 (5) 7.del删除文件 (5) 8.ren文件和文件夹重命名 (6) 9.cls清屏 (6) 10.type显示文件内容 (6) 11.copy拷贝文件(只能复制文件) (6) 12.title设置cmd窗口的标题 (7) 13.ver显示系统版本 (7) https://www.360docs.net/doc/2b15196566.html,bel 和vol设置卷标 (7) 15.pause暂停命令 (7) 16.rem 和::注释命令 (7) 17.date 和time日期和时间 (8) 18.goto 和:跳转命令 (8) 19.find (外部命令)查找命令 (8) 20.more (外部命令)逐屏显示 (9) 21.tree显示目录结构 (9) 22.&顺序执行多条命令,而不管命令是否执行成功 (9) 23.&&顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令 . 9 24.||顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令 (9) 25.|管道命令,前一个命令的执行结果输出到后一个命令 (10)

BAT(批处理)文件编写详细手册

BAT(批处理)文件编写详细手册 一、批处理文件简介 首先,批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。 其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句 (for)来循环执行一条命令。当然,批处理文件的编程能力与C语言等编程语句比起来是十分有限的,也是十分不规范的。批处理的程序语句就是一条条的 DOS命令(包括内部命令和外部命令),而批处理的能力主要取决于你所使用的命令。 第三,每个编写好的批处理文件都相当于一个DOS的外部命令,你可以把它所在的目录放到你的DOS搜索路径(path)中来使得它可以在任意位置运行。一个良好的习惯是在硬盘上建立一个bat或者batch 目录(例如C:/BATCH),然后将所有你编写的批处理文件放到该目录中,这样只要在path中设置上c:/batch,你就可以在任意位置运行所有你编写的批处理程序。 简单的说,批处理的作用就是自动的连续执行多条命令。 二、批处理中常用命令: 1.echo命令:表示显示此命令后的字符。字符不需要使用引号。其中,%和^两个字 符不能显示。 2.Echo off命令:表示在此语句后所有运行的命令都不显示命令行本身。即关闭echo 回显功能。可以使用echo on打开。 3.@命令:它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能 影响当前行)。 4.call命令:调用另一个批处理文件(如果不用call而直接调用别的批处理文件, 那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。 5.pause命令:运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续。如果不想显示以上英文提示信息, 可以这样写:pause>null 6.rem命令:表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考 用的(相当于程序中的注释)。 7.::命令:与rem命令等效。 例1:用edit编辑a.bat文件,输入下列内容后存盘为c:/a.bat,执行该批处理 文件后可实现:将根目录中所有文件写入 a.txt中,启动UCDOS,进入WPS等功能。 批处理文件的内容为: 命令注释: @echo off //不显示后续命令行及当前命令行

bat常用命令及用法大全

批处理常用命令及用法大全 阅读本文需要一定的dos基础概念,象:盘符、文件、目录(文件夹)、子目录、根目录、当前目录每个命令的完整说明请加 /? 参数参考微软的帮助文档可以看到,在 /? 帮助里,"命令扩展名"一词 会经常出现"命令扩 展名"是指相对于win98的dos版本而言,每个命令新增的功能 命令测试环境win2000proSP4win98的命令功能太少,就不作研究了 注:如果对某一命令还不是很熟悉,可以在命令行窗口下输入:命令名/?的方式来获得帮助。 例如:对dir命令的应用不熟悉,可以在命令行窗口下输入: dir /? 1 echo 和 @回显控制命令 @ #关闭单行回显 echo off #从下一行开始关闭回显 @echo off #从本行开始关闭回显。一般批处理第一行都是这个 echo on #从下一行开始打开回显 echo #显示当前是 echo off 状态还是 echo on 状态 echo. #输出一个"回车换行",一般就是指空白行 echo hello world #输出hello world "关闭回显"是指运行批处理文件时,不显示文件里的每条命令,只显示运行结果批处理开始和结束时, 系统都会自动打开 回显 2 errorlevel程序返回码 echo %errorlevel%每个命令运行结束,可以用这个命令行格式查看返回码用于判断刚才的命令是否 执行成功默认值为0, 一般命令执行出错会设 errorlevel 为1 3 dir显示目录中的文件和子目录列表 dir #显示当前目录中的文件和子目录 dir /a #显示当前目录中的文件和子目录,包括隐藏文件和系统文件 dir c: /a:d #显示 C 盘当前目录中的目录 dir c:\ /a:-d #显示 C 盘根目录中的文件dir d:\mp3 /b/p #逐屏显示 d:\mp3 目录里 的文件,只显示文件 名,不显示时间和大小 dir *.exe /s显示当前目录和子目录里所有的.exe文件其中 * 是通配符,代表所有的文件名,还一 个通配符 ? 代表一个

批处理参数详解

如果没有一定的相关知识恐怕不容易看懂和理解批处理文件,也就更谈不上自己动手编写了 批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .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.

批处理文件BAT、CMD命令大全

批处理文件BAT命令大全 一.简单批处理内部命令简介 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 所无法识别的标号, 即在: 后紧跟一个非字母数字的一个特殊符号. goto 命令就是根据这个:来寻找下一步跳到到那里。最好有一些说明这样你别人看起来才会理解你的意图啊。 4.Rem 命令 注释命令,起一个注释的作用,便于别人阅读和你自己日后修改。 Rem Message Sample:@Rem Here is the description.

相关文档
最新文档