批处理中常用命令介绍(Echo、rem、goto、call、pause、if、for),remgoto


一、echo命令 (echo图文版)

1. Echo :显示当前ECHO的状态:ECHO ON 或者ECHO OFF 。
2. ECHO ON :ECHO状态设为ON,将显示命令行(如每行前的C:\>等类似标志)。
3. ECHO OFF:CHO状态设为OFF,将不显示命令行(如每行前的C:\>等类似标志) 。
4. ECHO 字符串 :将输入的字符串显示在CMD屏幕上。
5. ECHO 字符串 &ECHO 字符串 … :&,类似and的意思,逻辑运算,用来显示多行数据。
6. ECHO 字符串 > 文件路径和文件名:将字符串写入文件中,若已有数据将先清空后写入。
7. ECHO 字符串 >> 文件路径和文件名 :将字符串写入文件中,若已有数据将追加到末尾。
注意每次:ECHO 字符串 >> 文件路径和文件名,命令之后,ECHO就回自动在在字符串后添加换行符,所以要想直接添加到文件末尾,那么文件中已有的数据,不能是ECHO命令先前输入的(或者手工删掉换行符)
8. (ECHO 字符串 &ECHO 字符串…)>文件路径和文件名 :
将多行数据写入文件中(注意括号不能去掉,如果括号去掉的话,那么只能写入最后一个,前面的将输出在CMD窗口中。如果文件中已经有数据,将先自动清空后再写入。
9. (ECHO 字符串 &ECHO 字符串…)>>路径和文件名
将多行数据写入文件中(注意括号不能去掉,如果括号去掉的话,那么只能写入最后一个,前面的将输出在CMD窗口中。如果文件中已经有数据,就将该字符串追加到文件的末尾。
10. (ECHO 字符串)>>文件路径和文件名:在文件中另起一行追加上字符串。如图所示:
11. ECHO.:输出空行,即相当于输入一个回车
注意命令行中的“.”要紧跟在ECHO后面中间不能有空格,否则“.”将被当作提示信息输出到屏幕。另外“.”可以用,:;+等任一符号替代。
12.       ECHO答复语|命令文件名:自动答复命令中的提问 ,不需要人为的输入
13.       ECHO ^G :“^G”是用Ctrl+G敲入连体符号,输入多个^G可以产生多声鸣响。

二、pause命令:行此句会暂停

三、@命令:echo off相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。
四、call命令

call 调用另一条批处理文件(如果直接调用别的批处理文件 ,执行完那条文件后将无法执行当前文件后续命令)
五、rem命令
rem 表示此命令后的字符为解释行,不执行,只是给自己今后查找用的。:: 也可以起到 rem 的注释作用, 而且更简洁有效;

六、%命令
%表示参数,参数是指在运行批处理文件时在文件名后加的字符串。变量可以从 %0到%9,%0表示文件名本身,字符串用%1到%9顺序表示。
(1)        %0的应用:
dos命令行下输入:aa(代表执行aa.bat批处理程序),%0代表本身文件,这出现了一个不断执行aa.bat命令的死循环

(2) %1到%9的应用

 
七、控制命令
(1)if "参数" == "字符串"  待执行的命令

== 等于;EQU等于;NEQ不等于;LSS 小于;
EQ 小于或等于;GTR 大于;GEQ大于或等于
(2)if exist 文件名  待执行的命令(eg:编辑aa1.txt文件)

(3)if errorlevel 数字  待执行的命令
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。如if errorlevel 2 goto x2,DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码

(4)OR [%%f] in (集合) DO [命令]
for %%c in (*.bat *.txt) do type %%c

八、目录切换
(1)CD [盘符][路径]:同一个分区的切换

(2)CD /d [盘符][路径]:不同分区的切换

(3)%cd%:显示当前的完整路径

九、目录切换  dir(略,自己去查)

十、attrib命令,设置文件属性

十一、常用命令命令(略)
Del:删除文件
Copy:复制文件
Xcopy:复制文件夹
Md:创建文件夹
rd:删除文件夹
ren:重命名文件(夹)
move:移动文件(夹)
find:字符串查找
findstr:字符串查找增强,可以进行模式匹配搜索
十二、常用网络命令和符号篇
管道命令的优先级高于重定向命令,重定向命令的优先级高于组合命令:|、>、&&
(1)重定向符 >、>>
> 重定向符, 意思是传递并且覆盖,它所起的作用是将运行的结果传递到后面的范围(后边可以是文件,也可以是默认的系统控制台,即命令提示符)。
>> 重定向符将命令的输出结果追加到其后面的设备中去。这个符号的作用和>有点类似,但他们是有区别的 >>是
传递并在文件的末尾追加,而>是覆盖。用法同>一样的。
echo hello> 1.txt
echo world>>1.txt
(2)命令管道符 |
         echo Y|rd /s c:\abc,通过管道命令|将echo y 的结果传给rd /s c:\abc 命令,从而达到自动输入y 的目的。
(3) 组合命令 &、&&、||
<A>:&,符号允许同时执行多条命令,当第一个命令执行失败了,也不影响后边的命令执行。这里 & 两边的命令是顺序执行的,从前往后执行。
<B>&&符号允许同时执行多条命令,当碰到执行出错的命令后将不再执行后面的命令,如果一直没有出错则一直执行完所有命令。
正确的命令后将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令。
(4) 转义字符 ^
要输出特殊字符,就需要用 echo ^>、echo ^|、echo ^|^|、echo ^^……之类的格式来处理
(5) 变量引导符 %
① 变量引用:当百分号成对出现,并且其间包含非特殊字符时,如%var%、%str%
② 形式参数的引用,%0 表示批处理文件本身,包括完整的路径和扩展名;%1至%9 表示第一个参数至第九个参数。
③ set /a 语句,表示两数相除取余数。在命令行窗口中,只需要单个的%,在批处理文件中,需要连续两个百分号,写成%%。
set /a num=4%%2,得到num为0而非2
④ 转义符号:如果要显示%本身时,需要在前面用%来转义。
echo 一个百分号:%%
echo 两个百分号:%%%%
echo 三个百分号:%%%%%%
(6)界定符 ""
① 在表示带有空格或特殊符号的路径时常要用""来将路径括起来。
例1:cd /d cd "d:\program files\^%*abc"
因为路径中带有空格和特殊符号,所以要用""将路径括起来。
② 表示其中的内容是一个完整的字符串。
例2:set "var=abc 123"
echo %var%

详细讲解下批处理文件echo、@、call、pause、rem 命令的具体用法以及含义

1、
显示信息,或将命令回显打开或关上。

ECHO [ON | OFF]
ECHO [message]

要显示当前回显设置,键入不带参数的 ECHO。
从批处理程序调用另一个批处理程序。

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

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

如果命令扩展名被启用,CALL 会如下改变:

CALL 命令现在将卷标当作 CALL 的目标接受。语法是:

CALL:label arguments

一个新的批文件上下文由指定的参数所创建,控制在卷标被指定
后传递到语句。您必须通过达到批脚本文件末两次来 "exit" 两次。
第一次读到文件末时,控制会回到 CALL 语句的紧后面。第二次
会退出批脚本。键入 GOTO /?,参看 GOTO : EOF 扩展名的描述,
此描述允许您从一个批脚本返回。

另外,批脚本文本参数参照(%0、%1、等等)已如下改变:

批脚本里的 %* 指出所有的参数(如 %1 %2 %3 %4 %5 ...)

批参数(%n)的替代已被增强。您可以使用以下语法:

%~1 - 删除引号("),扩充 %1
%~f1 - 将 %1 扩充到一个完全合格的路径名
%~d1 - 仅将 %1 扩充到一个驱动器号
%~p1 - 仅将 %1 扩充到一个路径
%~n1 - 仅将 %1 扩充到一个文件名
%~x1 - 仅将 %1 扩充到一个文件扩展名
%~s1 - 扩充的路径指含有短名
%~a1 - 将 %1 扩充到文件属性
%~t1 - 将 %1 扩充到文件的日期/时间
%~z1 - 将 %1 扩充到文件的大小
%~$PATH : 1 - 查找列在 PATH 环境变量的目录,并将 %1
扩充到找到的第一个完全合格的名称。如果环境
变量名未被定义,或者没有找到文件,此组合键会
扩充到空字符串

可以组合修定符来取得多重结果:

%~dp1 - 只将 %1 扩展到驱动器号和路径
%~nx1 - 只将 %1 扩展到文件名和扩展名
%~dp$PATH:1 - 在列在 PATH 环境变量中的目录里查找 %1,
并扩展到找到的第一个文件的驱动器号和路径。
%~ftza1 - 将 %1 扩展到类似 DIR 的输出行。

在上面的例子中,%1 和 PATH 可以被其他有效数值替换。
%~ 语法被一个有效参数号码终止。%~ 修定符不能跟 %*
使用

3、
暂停批处理程序,并显示以下消息:
请按任意键继续. . . 在批处理文件或 CONFIG.SYS 里加上注解或说明。

4、
REM [comment]...余下全文>>
 

怎制作批处理文件?

这些都些基础的
批处理就是把一批或者说是一条条命令放在一个文本里,然后批量执行!执行这

一批命令的文件的扩展名是BAT或者CMD,把任何一批命令放入在有这样扩展名的文件里,执行时里面的命令就会一条条的执行完,当然

我们还可以在其中加入一些逻辑判断的语句,让里面的命令在满足一定条件时执行指定的命令.

了解了大概意思后,我们正式开始学习.先看一个简单的例子!

@echo off
echo "欢迎来到中国BAT!"
pause

把上面的3条命令保存为test.bat或者test.cmd然后执行,他就会在屏幕上显示二行话:"欢迎来到非常BAT!请按任意键继续. . ."
这就是一个简单批处理文件了,我们来分析一下.

这个批处理文件一共就用了2条命令 "echo" 和"pause" 还有一个特殊符号"@"
@符号在批处理中的作用是关闭当前行命令的回显,也就是不显示执行的是什么命令,只显示命令的结果!
你可以执行下面这个批处理文件来理解,保存为*.bat或者*.CMD
@echo 你好
echo 你好
@pause

echo命令的作用有两个,一个是在CMD上回显一行内容.如:echo "欢迎来到非常BAT!",还一个是关闭命令的回显:echo off
echo off的作用就相当于在每条命令前面加一个@符号,这样所有的命令将只会显示结果不显示命令.
我们在echo off这命令前加一个@符号是为了不让echo off这条命令本身显示出来,让批处理更完美!

pause命令就是暂停的意思,防止批处理执行完后直接退出!执行pause命令后会自动在CMD里显示"请按任意键继续. . ."这样一行话!

从上面这个简单的批处理中,我们可以发现其实批处理就是运用一些含有特殊意义的符号和一些完成指定功能的命令组合而成,那么

在批处理中有多少这样的特殊符号和功能命令呢?我们现在就来仔细了解一下一些最常用的!

(以下内容来源网络,请各位仔细阅读,好进入下节的实例说明)

批处理的常见命令
REM
ECHO
GOTO
CALL
PAUSE
IF

还有(FOR,SETLOCAL,SHIFT)这几个命令比较难,不适合写在基础篇,以后说明!

批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。
这些命令统称批处理命令。

介绍命令

1、REM

REM是个注释命令,一般用来给程序加上注解,该命令后的内容在程序执行时,将不会被显示和执行。

例:REM 这个命令就是注释

这一句将不会被执行

2、ECHO

ECHO是一个回显命令,主要参数有OFF和ON。一般用ECHO MESSAGE来显示一个特定的消息。

例:
Echo off
Rem 以上代表关闭回显(就是不显示所执行的命令)
Echo 这个就是消息(message)
Rem 以上代表显示“这就是消息(message)”这列字符

咱们来看看执行结果:

3、GOTO

GOTO会点编程的朋友就会知道这是跳转的意思。
在批处理中允许以“:XXX”来构建一个标号,然后用GOTO XXX直接来执行标号后的命令。

例:

:lable
REM 上面就是名为LABEL的标号
DIR C:\
DIR D:&#9......余下全文>>
 

评论关闭