`
myharmony
  • 浏览: 107896 次
  • 性别: Icon_minigender_1
  • 来自: 中山市
社区版块
存档分类
最新评论

Bat 文件(批处理文件) 语法

阅读更多
BAT批处理文件语法之常用命令和参数

常用命令

echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起。

==== 注 ===========
首先, @ 不是一个命令, 而是DOS 批处理的一个特殊标记符, 仅用于屏蔽命令行回显. 下面是DOS命令行或批处理中可能会见到的一些特殊标记符:
CR(0D) 命令行结束符
Escape(1B) ANSI转义字符引导符
Space(20) 常用的参数界定符
Tab(09) ; = 不常用的参数界定符
+ COPY命令文件连接符
* ? 文件通配符
“” 字符串界定符
| 命令管道符
< > >> 文件重定向符
@ 命令行回显屏蔽符
/ 参数开关引导符
: 批处理标签引导符
% 批处理变量引导符

其次, :: 确实可以起到rem 的注释作用, 而且更简洁有效; 但有两点需要注意:
第一, 除了 :: 之外, 任何以 :开头的字符行, 在批处理中都被视作标号, 而直接忽略其后的所有内容, 只是为了与正常的标号相区别, 建议使用 goto 所无法识别的标号, 即在 :后紧跟一个非字母数字的一个特殊符号.
第二, 与rem 不同的是, ::后的字符行在执行时不会回显, 无论是否用echo on打开命令行回显状态, 因为命令解释器不认为他是一个有效的命令行, 就此点来看, rem 在某些场合下将比 :: 更为适用; 另外, rem 可以用于 config.sys 文件中.
=====================

echo 表示显示此命令后的字符
echo off 表示在此语句后所有运行的命令都不显示命令行本身
@与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。
call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。
pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue…的提示,等待用户按任意键后继续
rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。
==== 注 =====
此处的描述较为混乱, 不如直接引用个命令的命令行帮助更为条理

————————-
ECHO

当程序运行时,显示或隐藏批处理程序中的正文。也可用于允许或禁止命令的回显。

在运行批处理程序时,MS-DOS一般在屏幕上显示(回显)批处理程序中的命令。
使用ECHO命令可关闭此功能。

语法

ECHO [ON|OFF]

若要用echo命令显示一条命令,可用下述语法:

echo [message]

参数

ON|OFF
指定是否允许命令的回显。若要显示当前的ECHO的设置,可使用不带参数的ECHO
命令。

message
指定让MS-DOS在屏幕上显示的正文。

——————-

CALL

从一个批处理程序中调用另一个批处理程序,而不会引起第一个批处理的中止。

语法

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

参数

[drive:][path]filename
指定要调用的批处理程序的名字及其存放处。文件名必须用.BAT作扩展名。


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

——————————-

PAUSE

暂停批处理程序的执行并显示一条消息,提示用户按任意键继续执行。只能在批处
理程序中使用该命令。

语法

PAUSE


REM

在批处理文件或CONFIG.SYS中加入注解。也可用REM命令来屏蔽命令(在CONFIG.SYS
中也可以用分号 ; 代替REM命令,但在批处理文件中则不能替代)。

语法

REM [string]

参数

string
指定要屏蔽的命令或要包含的注解。
=======================

例1:用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入 a.txt中,启动UCDOS,进入WPS等功能。

  批处理文件的内容为:         命令注释:

    @echo off           不显示后续命令行及当前命令行
    dir c:*.* >a.txt       将c盘文件列表写入a.txt
    call c:\ucdos\ucdos.bat    调用ucdos
    echo 你好            显示”你好”
    pause              暂停,等待按键继续
    rem 准备运行wps         注释:准备运行wps
    cd ucdos            进入ucdos目录
    wps               运行wps  

批处理文件的参数

批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符”%”。

%[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。

例2:C:根目录下有一批处理文件名为f.bat,内容为:
@echo off
format %1

如果执行C:\>f a:
那么在执行f.bat时,%1就表示a:,这样format %1就相当于format a:,于是上面的命令运行时实际执行的是format a:

例3:C:根目录下一批处理文件名为t.bat,内容为:
@echo off
type %1
type %2

那么运行C:\>t a.txt b.txt
%1 : 表示a.txt
%2 : 表示b.txt
于是上面的命令将顺序地显示a.txt和b.txt文件的内容。

==== 注 ===============
参数在批处理中也作为变量处理, 所以同样使用百分号作为引导符, 其后跟0-9中的一个数字构成参数引用符. 引用符和参数之间 (例如上文中的 %1 与 a: ) 的关系类似于变量指针与变量值的关系. 当我们要引用第十一个或更多个参数时, 就必须移动DOS 的参数起始指针. shift 命令正充当了这个移动指针的角色, 它将参数的起始指针移动到下一个参数, 类似C 语言中的指针操作. 图示如下:

初始状态, cmd 为命令名, 可以用 %0 引用
cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | | |
%0 %1 %2 %3 %4 %5 %6 %7 %8 %9

经过1次shift后, cmd 将无法被引用
cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | | |
%0 %1 %2 %3 %4 %5 %6 %7 %8 %9

经过2次shift后, arg1也被废弃, %9指向为空, 没有引用意义
cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10
^        ^          ^       ^        ^     ^ ^ ^ ^
|    |    | |          | | | | |
%0 %1     %2 %3      %4 %5 %6 %7 %8

遗憾的是, win9x 和DOS下均不支持 shift 的逆操作. 只有在 nt 内核命令行环境下, shift 才支持 /n 参数, 可以以第一参数为基准返复移动起始指针. 

分享到:
评论

相关推荐

    经典BAT批处理文件语法教程及使用方法.doc

    经典BAT批处理文件语法教程及使用方法 本文将详细讲述BAT批处理文件的语法、使用方法和编程技术。BAT批处理文件是一种文本文件,每一行都是一个DOS命令,可以使用DOS下的Edit或Windows的记事本等文本编辑工具创建和...

    BAT批处理文件语法

    BAT批处理文件语法 BAT批处理文件是一种文本文件, 每一行都是一个DOS命令。这种文件可以使用DOS下的Edit或Windows的记事本等文本文件编辑工具创建和修改。批处理文件可以使用非DOS命令,甚至可以使用不具有可执行...

    bat批处理脚本语法教程(超经典)

    - **批处理文件扩展名**:批处理文件通常以`.bat`或`.cmd`作为扩展名。 - **执行方式**:创建一个批处理文件后,可以通过双击文件图标来运行它,或者在命令行界面中输入批处理文件的路径进行执行。 - **执行环境**:...

    BAT批处理脚本-文件相关操作-删除文件到回收站.zip

    这段脚本首先检查文件是否存在,如果存在,它会在临时目录创建一个批处理文件`send2recycle.bat`,该文件使用`move`命令将文件移动到回收站。然后,调用这个临时脚本执行删除操作,最后清理掉临时脚本。 在实际应用...

    常用的bat批处理文件

    【标题】:“常用的bat批处理文件” 在计算机领域,批处理文件是一种文本文件,通常以.bat为扩展名,用于在Windows操作系统中执行一系列命令。这些命令可以是系统内部的DOS命令,也可以是外部程序或者脚本语言。...

    批处理文件语法备忘,BAT文件语法和技巧

    批处理文件,通常以`.bat`或`.cmd`为扩展名,是DOS和Windows操作系统中用于自动化执行一系列命令的文本文件。它们是基于DOS命令行环境的脚本,可以理解为一种简单的编程方式,使得用户能够批量执行任务,减少重复的...

    BAT批处理脚本-访问共享.zip

    在压缩包内的“访问共享.bat”文件很可能是实际的批处理脚本,它包含了连接到网络共享的DOS命令,如`net use`命令,可能还会有其他如`copy`或`move`命令用于复制或移动文件,以及`dir`命令来查看共享目录的内容。...

    BAT批处理文件语法.rar

    BAT批处理文件是Windows操作系统中的一种脚本语言,主要用于自动化执行一系列命令,简化日常或重复性的计算机操作。这种技术在系统管理和...批处理文件语法的深入学习和实践,有助于提升Windows系统的管理和维护能力。

    bat.rar_bat_常用bat_批处理_批处理 bat

    4. **调用其他批处理和命令**:使用`call`命令可以执行其他批处理文件,`start`可以启动新的命令窗口。 5. **文件和目录操作**:如`copy`、`move`、`del`、`mkdir`、`rmdir`分别用于复制、移动、删除、创建和删除...

    bat批处理命令文件类型语法格式应用详解.txt

    - **定义**:bat文件是一种文本文件,其中包含了一系列按照特定顺序执行的命令行指令。这些命令通常是在命令提示符(CMD)中手动输入的那些命令。 - **用途**:主要用于自动化执行一系列任务,如系统维护、文件管理...

    bat常用批处理程序

    1. **批处理基础**:批处理文件本质上是文本文件,包含了DOS命令或Windows命令解释器(CMD.exe)能理解的命令序列。它们可以通过编辑器如记事本创建,然后通过双击运行或者在命令提示符中执行。 2. **命令行语法**...

    BAT批处理文件语法大全

    .bat是dos下的批处理文件 .cmd是nt内核命令行环境的另一种批处理文件 从更广义的角度来看,unix的shell脚本以及其它操作系统甚至应用程序中由外壳进行解释执行的文本,都具有与批处理文件十分相似的作用,而且同样...

    bat批处理文件语法格式

    本文将深入探讨BAT批处理文件的语法格式,以及如何编写有效的批处理脚本。** ### 1. BAT文件的基本结构 一个批处理文件通常以`.bat`或`.cmd`为扩展名,其内容由一条条命令组成,每行代表一个命令。批处理文件的...

    bat_批处理_语法

    批处理文件的基本语法包括: 1. `@echo off`:关闭命令行回显,使得批处理运行时不显示命令行本身。 2. `echo`:显示文本,`echo on`则开启命令行回显。 3. `call`:调用另一个批处理文件,可以实现子程序的效果。 4...

Global site tag (gtag.js) - Google Analytics