×

编写批处理文件格式

编写批处理文件格式(电脑如何修改并运行批处理格式文件)

admin admin 发表于2024-04-27 03:33:21 浏览24 评论0

抢沙发发表评论

“编写批处理文件格式”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看编写批处理文件格式(电脑如何修改并运行批处理格式文件)!

本文目录

电脑如何修改并运行批处理格式文件

你好,一般我们会把几个要执行的命令输入到一个文本文档中,然后保存为bat批处理命令运行。但是保存批处理文件双击运行后,有用户发现屏幕只是闪了一下,批处理文件没有运行。这是批处理文件格式保存错误导致的无效操作问题。我们可以参考以下方法来避免这个问题。1.在记事本中后,点击“文件”——“另存为”;2.如果看到下面的代码显示“Unicode”,可能存在批处理文件无法运行的问题;3.点击下拉框,选择“ANSI”代码;4.另外,保存类型最好选择“所有文件”,避免另存为TXT文件;5.另外,在所有设置完成后,不要忘记点击保存按钮保存bat文件。按照上面的步骤在电脑中保存bat文件,就可以避免批处理文件格式在电脑中保存错误导致操作无效的问题。

批处理文件(.bat)怎么写

一.简单批处理内部命令简介 1.Echo 命令 打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。 语法 echo 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 参数 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? 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 ,然后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 %variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以使用通配符。 command 指定对每个文件执行的命令。 command-parameters 为特定命令指定参数或命令行开关。 在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable 而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I 如果命令扩展名被启用,下列额外的 FOR 命令格式会受到 支持: FOR /D %variable IN (set) DO command 如果集中包含通配符,则指定与目录名匹配,而不与文件 名匹配。 FOR /R %variable IN (set) DO command [command- 检查以 path 为根的目录树,指向每个目录中的 FOR 语句。如果在 /R 后没有指定目录,则使用当前 目录。如果集仅为一个单点(.)字符,则枚举该目录树。 FOR /L %variable IN (start,step,end) DO command [command-para 该集表示以增量形式从开始到结束的一个数字序列。

怎么编写批处理文件

我抄的:的 先 学会DOS 命令 才 能 不然 什么 都 编 不了所有的批里 都是 基于 DOS然后保存戳候命为 BAT 就 OK 了title = 标题栏 上的确文字说明 color 1A = 颜色 1=字体颜色 A = 背景颜色 以此-类推 CLS = 清屏幕命令 功能:清除屏幕上的所有显示,光标置于屏幕左上角   1=. 《Echo》 命令  打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。  语法Sample:@echo off / echo hello world  即是说当echo设置off值的时候,那么下面的指令都将只执行而不显示,当再次出现echo on时下面的语句才为可见的(回显),echo通常和@一起使用,@放  在echo的前面,即是 @echo,作用是让@后面的句子不显示出来,而@本身也是不显示的,那么通过 @echo off 可达到不显示任何信息的效果。在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用》 》》 ^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来2=. 《ren》 更改单个文件的名称。 rename filename1 filename2 或者 ren filename1 filename2 参数 filename1 指定要重新命名的文件的位置和名称。不能使用通配符。 filename2 为文件指定新的名称。重新命名文件时不能指定新的驱动器或路径。 rem使您可以在批处理文件或配置文件中加入注释。 语法 rem 参数 comment 指定要作为注释的任何字符串。 /? 在命令提示符显示帮助。 注释 使用 echo 命令显示注释 rem 命令不在屏幕上显示注释。必须在批处理或 Config.nt 文件中使用 echo on 命令才能在屏幕上显示注释。 对批处理文件注释的限制 在批处理文件注释中不能使用重定向字符“(”或“)”或管道 (|)。 使用 rem 增加垂直间距。 尽管您可以使用没有注释的 rem 为批处理文件增加垂直间距,但也可以使用空行来增加间距。在处理批处理程序时会忽略空行。 范例 以下范例显示为解释和垂直间距使用注释的批处理文件: @echo off rem This batch program formats and checks new disks. rem It is named Checknew.bat. rem echo Insert new disk in drive B. pause format b:/v chkdsk b: 假定要在 Config.nt 文件中的 prompt 命令前包含解释性注释。为此,请将以下行添加到 Config.nt 中: rem Set prompt to indicate current directory prompt $p$g3. = 《set》 命令SQL》set colsep’ ’; //-域输出分隔符 SQL》set echo off; //显示start启动的脚本中的每个sql命令,缺省为on SQL》 set echo on //设置运行命令是是否显示语句 SQL》 set feedback on; //设置显示“已选择XX行” SQL》set feedback off; //回显本次sql命令处理的记录条数,缺省为on SQL》set heading off; //输出域标题,缺省为on SQL》set pagesize 0; //输出每页行数,缺省为24,为了避免分页,可设定为0。 SQL》set linesize 80; //输出一行字符个数,缺省为80 SQL》set numwidth 12; //输出number类型域长度,缺省为10 SQL》set termout off; //显示脚本中的命令的执行结果,缺省为on SQL》set trimout on; //去除标准输出每行的拖尾空格,缺省为off SQL》set trimspool on; //去除重定向(spool)输出每行的拖尾空格,缺省为off SQL》set serveroutput on; //设置允许显示输出类似dbms_output SQL》 set timing on; //设置显示“已用时间:XXXX” SQL》 set autotrace on-; //设置允许对执行的sql进行分析 set verify off //可以关闭和打开提示确认信息old 1和new 1的显示

如何写一个批处理文件

定义:用户一次提交一系列命令,由系统自动地依次 逐条执行。命令逐行写入一个文本文件,这个文件叫批处理文件,批处理文件必须以 BAT 为扩展名。 一 .ECHO 1. 内部命令 2. 功能:显示或隐藏被执行的命令 , 或在屏幕上显示信息 3. 格式: ECHO ON | OFF | MESSAGE 4. 说明:@等价于 ECHO OFF 5. 例如: ABC.BAT 的内容为 @ ECHO OFF ECHO 12 ECHO ON @ECHO 34 ECHO 56 ECHO OFF ECHO 78 @ECHO 90 12 34 ECHO 56 56 ECHO OFF 78 90 二 .PAUSE 1. 内部命令 2. 功能:暂停批处理文件的执行,显示 “press any key to continue …” (按任意键继续),等到用户按任意键后继续执行后继命令 3. 格式: PAUSE 三 .REM 1. 内部命令 2. 功能:注释 3. 格式: REM remarks 4. 说明:对批处理文件中的内容进行说明;在寻找故障或做一些试验时,常会需要使批处理文件中的某一命令暂时不起作用 四 . 参数 1. 文件中要有专门的符号来表示使用参数的位置,这些符号是 %1 、 %2 …… %9 ,依次表示第 1 个、第 2 个 …… 第 9 个参数,另外,如果需要的话,可以用 %0 表示批处理命令中除各个参数以外的部分 2. 例如:批处理文件 BAKDOC.BAT 的内容为: Attrib –r d:\bak\%1.doc Copy c:\winword\%1.doc d:\bak Attrib +r d:\bak\%1.doc 五 .IF 1. 内部命令 2. 功能:在指定条件成立的情况下执行指定的命令 3. 格式: IF 4. 说明: parameters 子程序所需的参数 5. 例如:用批处理的方法删除 F :根目录下 USER00 、 USER01 、 …… 、 USER99 这 100 个子目录中的所有内容,但保留 这些子目录。编写批处理文件 DELE1.BAT ,内容为: For %%a in (0 1 2 3 4 5 6 7 8 9 ) do deltree /y f:\user%1%%a\*.* 再编写批处理文件 DELE.BAT ,内容为: For %%b in (0 1 2 3 4 5 6 7 8 9 )do call dele1 %%b

我想做一个批处理文件应该怎么写

重要说明,以下文字引用自“东海技术论坛”手把手教你写批处理原文作者写东西很没有专业精神,写的文章简直是错误百出,而且啰里八索,如果不加以修改和完善,简直是误人子弟,因此,我在原文的基础上进行了修改,修正了大部分错误(当然,不可避免可能会有新的错误,希望高手发现后能够及时指出来)。批处理的介绍扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件。首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件工具创建和修改批处理文件。其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。当然,批处理文件的编程能力与C语言等编程语句比起来是十分有限的,也是十分不规范的。批处理的程序语句就是一条条的DOS命令(包括内部命令和外部命令),而批处理的能力主要取决于你所使用的命令。第三,每个编写好的批处理文件都相当于一个DOS的外部命令,你可以把它所在的目录放到你的DOS搜索路径(path)中来使得它可以在任意位置运行。一个良好的习惯是在硬盘上建立一个bat或者batch目录(例如C:\BATCH),然后将所有你编写的批处理文件放到该目录中,这样只要在path中设置上c:\batch,你就可以在任意位置运行所有你编写的批处理程序。第四,在DOS和W.x/Me系统下,C:盘根目录下的AUTOEXEC.BAT批处理文件是自动运行批处理文件,每次系统启动时会自动运行该文件,你可以将系统每次启动时都要运行的命令放入该文件中,例如设置搜索路径,调入鼠标驱动和磁盘缓存,设置系统环境变量等。下面是一个运行于Windows 98下的autoexec.bat的示例:@ECHO OFFPATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\UCDOS;C:\DOSTools;C:\SYSTOOLS;C:\WINTOOLS;C:\BATCHLH SMARTDRV.EXE /XLH DOSKEY.COM /INSERTLH CTMOUSE.EXESET TEMP=D:\TEMPSET TMP=D:\TEMP批处理的作用简单的说,批处理的作用就是自动的连续执行多条命令。这里先讲一个最简单的应用:在启动wps软件时,每次都必须执行(》前面内容表示DOS提示符): C:\》cd wps C:\WPS》spdosC:\WPS》py C:\WPS》wbx C:\WPS》wps 如果每次用WPS之前都这样执行一遍,您是不是觉得很麻烦呢?好了,用批处理,就可以实现将这些麻烦的操作简单化,首先我们编写一个runwps.bat批处理文件,内容如下:@echo offc:cd\wpsspdospywbxwpscd以后,我们每次进入wps,只需要运行runwps这个批处理文件即可。常用命令echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起。 echo 表示显示此命令后的字符 echo off 表示在此语句后所有运行的命令都不显示命令行本身 @与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。 call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。 pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续 rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。 例1:用edita.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命令的命令行参数),这需要用到一个参数表示符“%”。 %表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。 例2:C:根目录下有一批处理文件名为f.bat,内容为:@echo offformat %1如果执行C:\》f a:那么在执行f.bat时,%1就表示a:,这样format %1就相当于format a:,于是上面的命令运行时实际执行的是format a:例3:C:根目录下一批处理文件名为t.bat,内容为:@echo offtype %1 type %2 那么运行C:\》t a.txt b.txt %1 : 表示a.txt%2 : 表示b.txt于是上面的命令将顺序地显示a.txt和b.txt文件的内容。特殊命令if goto choice for是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。 一、if 是条件语句,用来判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式: 1、if "参数" == "字符串" 待执行的命令 参数如果等于(not表示不等,下同)指定的字符串,则条件成立,运行命令,否则运行下一句。例:if "%1"=="a" format a:2、if 文件名 待执行的命令 如果有指定的文件,则条件成立,运行命令,否则运行下一句。如: if exist c:\config.sys type c:\config.sys 表示如果存在c:\config.sys文件,则显示它的内容。3、if errorlevel 《数字》 待执行的命令 很多DOS程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态),通过if errorlevel命令可以判断程序的返回值,根据不同的返回值来决定执行不同的命令(返回值必须按照从大到小的顺序排列)。如果返回值等于指定的数字,则条件成立,运行命令,否则运行下一句。如if errorlevel 2 goto x2二、goto 批处理文件运行到这里将跳到goto所指定的标号(标号即label,标号用:后跟标准字符串来定义)处,goto语句一般与if配合使用,根据不同的条件来执行不同的命令组。 如:goto end :end echo this is the end 标号用“:字符串”来定义,标号所在行不被执行。 三、choice 使用此命令可以让用户输入一个字符(用于选择),从而根据用户的选择返回不同的errorlevel,然后于if errorlevel配合,根据用户的选择运行不同的命令。注意:choice命令为DOS或者Windows系统提供的外部命令,不同版本的choice命令语法会稍有不同,请用choice /?查看用法。choice的命令语法(该语法为Windows 2003中choice命令的语法,其它版本的choice的命令语法与此大同小异):CHOICE 描述: 该工具允许用户从选择列表选择一个项目并返回所选项目的索引。参数列表: /C choices 指定要创建的选项列表。默认列表是 "YN"。 /N 在提示符中隐藏选项列表。提示前面的消息得到显示, 选项依旧处于启用状态。 /CS 允许选择分大小写的选项。在默认情况下,这个工具 是不分大小写的。 /T timeout 做出默认选择之前,暂停的秒数。可接受的值是从 0 到 .9。如果指定了 0,就不会有暂停,默认选项 会得到选择。 /D choice 在 nnnn 秒之后指定默认选项。字符必须在用 /C 选 项指定的一组选择中; 同时,必须用 /T 指定 nnnn。 /M text 指定提示之前要显示的消息。如果没有指定,工具只 显示提示。 /? 显示帮助消息。 注意: ERRORLEVEL 环境变量被设置为从选择集选择的键索引。列出的第一个选 择返回 1,第二个选择返回 2,等等。如果用户按的键不是有效的选择, 该工具会发出警告响声。如果该工具检测到错误状态,它会返回 255 的 ERRORLEVEL 值。如果用户按 Ctrl+Break 或 Ctrl+C 键,该工具会返回 0 的 ERRORLEVEL 值。在一个批程序中使用 ERRORLEVEL 参数时,将参数降 序排列。示例: CHOICE /? CHOICE /C YNC /M "确认请按 Y,否请按 N,或者取消请按 C。" CHOICE /T 10 /C ync /CS /D y CHOICE /C ab /M "选项 1 请选择 a,选项 2 请选择 b。" CHOICE /C ab /N /M "选项 1 请选择 a,选项 2 请选择 b。" 如果我运行命令:CHOICE /C YNC /M "确认请按 Y,否请按 N,或者取消请按 C。"屏幕上会显示:确认请按 Y,否请按 N,或者取消请按 C。 ?例:test.bat的内容如下(注意,用if errorlevel判断返回值时,要按返回值从高到低排列): @echo off choice /C dme /M "defrag,mem,end"if errorlevel 3 goto endif errorlevel 2 goto mem if errotlevel 1 goto defrag :defrag c:\dos\defrag goto end :mem mem goto end :end echo good bye 此批处理运行后,将显示“defrag,mem,end?” ,用户可选择d m e ,然后if语句根据用户的选择作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,批处理运行结束。 四、for 循环命令,只要条件符合,它将多次执行同一命令。 语法:对一组文件中的每一个文件执行某个特定命令。FOR %%variable IN (set) DO command %%variable 指定一个单一字母可替换的参数。(set) 指定一个或一组文件。可以使用通配符。command 指定对每个文件执行的命令。command-parameters 为特定命令指定参数或命令行开关。例如一个批处理文件中有一行: for %%c in (*.bat *.txt) do type %%c 则该命令行会显示当前目录下所有以bat和txt为扩展名的文件的内容。批处理示例1. IF-EXIST1)首先用记事本在C:\建立一个test1.bat批处理文件,文件内容如下: @echo off IF EXIST \AUTOEXEC.BAT TYPE \AUTOEXEC.BAT IF NOT EXIST \AUTOEXEC.BAT ECHO \AUTOEXEC.BAT does not exist 然后运行它:C:\》TEST1.BAT 如果C:\存在AUTOEXEC.BAT文件,那么它的内容就会被显示出来,如果不存在,批处理就会提示你该文件不存在。2)接着再建立一个test2.bat文件,内容如下: @ECHO OFF IF EXIST \%1 TYPE \%1 IF NOT EXIST \%1 ECHO \%1 does not exist 执行: C:\》TEST2 AUTOEXEC.BAT 该命令运行结果同上。说明: (1) IF EXIST 是用来测试文件是否存在的,格式为 IF EXIST 命令 (2) test2.bat文件中的%1是参数,DOS允许传递9个批参数信息给批处理文件,分别为%1~%9(%0表示test2命令本身) ,这有点象编程中的实参和形参的关系,%1是形参,AUTOEXEC.BAT是实参。 3) 更进一步的,建立一个名为TEST3.BAT的文件,内容如下: @echo offIF "%1" == "A" ECHO XIAO IF "%2" == "B" ECHO TIAN IF "%3" == "C" ECHO XIN 如果运行:C:\》TEST3 A B C 屏幕上会显示:XIAOTIANXIN如果运行:C:\》TEST3 A B 屏幕上会显示XIAOTIAN 在这个命令执行过程中,DOS会将一个空字符串指定给参数%3。 2、IF-ERRORLEVEL建立TEST4.BAT,内容如下:@ECHO OFF XCOPY C:\AUTOEXEC.BAT D:IF ERRORLEVEL 1 ECHO 文件拷贝失败 IF ERRORLEVEL 0 ECHO 成功拷贝文件 然后执行文件:C:\》TEST4如果文件拷贝成功,屏幕就会显示“成功拷贝文件”,否则就会显示“文件拷贝失败”。 IF ERRORLEVEL 是用来测试它的上一个DOS命令的返回值的,注意只是上一个命令的返回值,而且返回值必须依照从大到小次序顺序判断。因此下面的批处理文件是错误的:@ECHO OFF XCOPY C:\AUTOEXEC.BAT D:\ IF ERRORLEVEL 0 ECHO 成功拷贝文件 IF ERRORLEVEL 1 ECHO 未找到拷贝文件 IF ERRORLEVEL 2 ECHO 用户通过ctrl-c中止拷贝操作 IF ERRORLEVEL 3 ECHO 预置错误阻止文件拷贝操作 IF ERRORLEVEL 4 ECHO 拷贝过程中写盘错误 无论拷贝是否成功,后面的: 未找到拷贝文件 用户通过ctrl-c中止拷贝操作 预置错误阻止文件拷贝操作 拷贝过程中写盘错误都将显示出来。 以下就是几个常用命令的返回值及其代表的意义: backup 0 备份成功 1 未找到备份文件 2 文件共享冲突阻止备份完成 3 用户用ctrl-c中止备份 4 由于致命的错误使备份操作中止 diskcomp 0 盘比较相同 1 盘比较不同 2 用户通过ctrl-c中止比较操作 3 由于致命的错误使比较操作中止 4 预置错误中止比较 diskcopy 0 盘拷贝操作成功 1 非致命盘读/写错 2 用户通过ctrl-c结束拷贝操作 3 因致命的处理错误使盘拷贝中止 4 预置错误阻止拷贝操作 format 0 格式化成功 3 用户通过ctrl-c中止格式化处理 4 因致命的处理错误使格式化中止 5 在提示“proceed with format(y/n)?”下用户键入n结束 xcopy 0 成功拷贝文件 1 未找到拷贝文件 2 用户通过ctrl-c中止拷贝操作 4 预置错误阻止文件拷贝操作 5 拷贝过程中写盘错误 3、IF STRING1 == STRING2建立TEST5.BAT,文件内容如下: @echo off IF "%1" == "A" FORMAT A: 执行: C:\》TEST5 A 屏幕上就出现是否将A:盘格式化的内容。 注意:为了防止参数为空的情况,一般会将字符串用双引号(或者其它符号,注意不能使用保留符号)括起来。如:if 或者 if %1*==A*5、GOTO建立TEST6.BAT,文件内容如下: @ECHO OFF IF EXIST C:\AUTOEXEC.BAT GOTO _COPY GOTO _DONE:_COPY COPY C:\AUTOEXEC.BAT D:\ :_DONE 注意: (1) 标号前是ASCII字符的冒号":",冒号与标号之间不能有空格。 (2) 标号的命名规则与文件名的命名规则相同。(3) DOS支持最长八位字符的标号,当无法区别两个标号时,将跳转至最近的一个标号。6、FOR建立C:\TEST7.BAT,文件内容如下: @ECHO OFF FOR %%C IN (*.BAT *.TXT *.SYS) DO TYPE %%C 运行: C:\》TEST7执行以后,屏幕上会将C:盘根目录下所有以BAT、TXT、SYS为扩展名的文件内容显示出来(不包括隐藏文件)。 手把手教你写批处理(willsort题注版) Climbing 兄可谓用心良苦,受其感昭,略紧微薄之力;原文内容一字未易,仅于每段之下另加题注,其文大多非为纠错,多是年来体会,或偶得,或渐悟,未免偏颇;又加近来俗事渐多,闲情愈少,心浮气燥,一蹴而就。义理悖逆,敬请斧正;措辞不当,尚请莫怪。 另,建议Climbing兄取文不用拘泥于国内,此类技术文章,内外水平相差极大;与其修正国内只言片语,不如翻译国外优秀著述。批处理的介绍扩展名是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命令,甚至可以使用不具有可执行特性的普通数据性文件,这缘于windows系统这个新型解释平台的涉入,使得批处理的应用越来越“边缘化”。所以我们讨论的批处理应该限定在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宏命令(预先驻留内存),COMMAND.COM中的内部命令(根据内存的环境随时进驻内存),以com为扩展名的可执行程序(由command.com 直接载入内存),以exe位扩展名的可执行程序(由command.com 重定位后载入内存),以bat位扩展名的批处理程序(由command.com 解释分析,根据其内容按优先级顺序调用第2,3,4,5种可执行程序,分析一行,执行一行,文件本身不载入内存)========================================================第四,在DOS和W.x/Me系统下,C:盘根目录下的AUTOEXEC.BAT批处理文件是自动运行批处理文件,每次系统启动时会自动运行该文件,你可以将系统每次启动时都要运行的命令放入该文件中,例如设置搜索路径,调入鼠标驱动和磁盘缓存,设置系统环境变量等。下面是一个运行于Windows 98下的autoexec.bat的示例:@ECHO OFFPATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\UCDOS;C:\DOSTools;C:\SYSTOOLS;C:\WINTOOLS;C:\BATCHLH SMARTDRV.EXE /XLH DOSKEY.COM /INSERTLH CTMOUSE.EXESET TEMP=D:\TEMPSET TMP=D:\TEMP==== willsort 题注 ====================================AUTOEXEC.BAT为DOS系统的自动运行批处理文件,由COMMAND.COM启动时解释执行;而在W.x环境中,不仅增加支持了 DOSSTART.BAT, WINSTART.BAT 等许多其它自动运行的批处理文件,对AUTOEXEC.BAT 也增加了 .DOS .W40 .BAK .OLD .PWS 等许多变体以适应复杂的环境和多变的需求。

关于编写批处理文件格式和电脑如何修改并运行批处理格式文件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。