批处理文件(BAT)中的一些符号字符
- 格式:doc
- 大小:43.00 KB
- 文档页数:6
bat批处理命令及解释⼀、批处理概念批处理⽂件:包含DOS命令的可编辑可执⾏⽂件批处理:可以对某⼀对象批量操作的⽂件⼆、批处理命令简介命令1~101 echo 和 @回显命令@ #关闭单⾏回显echo off #从下⼀⾏开始关闭回显@echo off #从本⾏开始关闭回显。
⼀般批处理第⼀⾏都是这个echo on #从下⼀⾏开始打开回显echo #显⽰当前是 echo off 状态还是 echo on 状态echo. #输出⼀个”回车换⾏”,空⽩⾏#(同echo, echo; echo+ echo[ echo] echo/ echo)2 errorlevelecho %errorlevel%每个命令运⾏结束,可以⽤这个命令⾏格式查看返回码默认值为0,⼀般命令执⾏出错会设 errorlevel 为13 dir显⽰⽂件夹内容dir #显⽰当前⽬录中的⽂件和⼦⽬录dir /a #显⽰当前⽬录中的⽂件和⼦⽬录,包括隐藏⽂件和系统⽂件dir c: /a:d #显⽰ C 盘当前⽬录中的⽬录dir c: /a:-d #显⽰ C 盘根⽬录中的⽂件dir c: /b/p #/b只显⽰⽂件名,/p分页显⽰dir *.exe /s #显⽰当前⽬录和⼦⽬录⾥所有的.exe⽂件4 cd切换⽬录cd #进⼊根⽬录cd #显⽰当前⽬录cd /d d:sdk #可以同时更改盘符和⽬录5 md创建⽬录md d:abc #如果 d:a 不存在,将会⾃动创建中级⽬录#如果命令扩展名被停⽤,则需要键⼊ mkdir abc6 rd删除⽬录rd abc #删除当前⽬录⾥的 abc ⼦⽬录,要求为空⽬录rd /s/q d:temp #删除 d:temp ⽂件夹及其⼦⽂件夹和⽂件,/q安静模式7 del删除⽂件del d:test.txt #删除指定⽂件,不能是隐藏、系统、只读⽂件del /q/a/f d:temp*.*删除 d:temp ⽂件夹⾥⾯的所有⽂件,包括隐藏、只读、系统⽂件,不包括⼦⽬录del /q/a/f/s d:temp*.*删除 d:temp 及⼦⽂件夹⾥⾯的所有⽂件,包括隐藏、只读、系统⽂件,不包括⼦⽬录8 ren重命名命令ren d:temp tmp #⽀持对⽂件夹的重命名9 cls清屏10 type显⽰⽂件内容type c:boot.ini #显⽰指定⽂件的内容,程序⽂件⼀般会显⽰乱码type *.txt #显⽰当前⽬录⾥所有.txt⽂件的内容命令11~2011 copy拷贝⽂件copy c:test.txt d:test.bak复制 c:test.txt ⽂件到 d: ,并重命名为 test.bak从屏幕上等待输⼊,按 Ctrl+Z 结束输⼊,输⼊内容存为test.txt⽂件con代表屏幕,prn代表打印机,nul代表空设备copy 1.txt + 2.txt 3.txt合并 1.txt 和 2.txt 的内容,保存为 3.txt ⽂件如果不指定 3.txt ,则保存到 1.txtcopy test.txt +复制⽂件到⾃⼰,实际上是修改了⽂件⽇期12 title设置cmd窗⼝的标题title 新标题 #可以看到cmd窗⼝的标题栏变了13 ver显⽰系统版本14 label 和 vol设置卷标vol #显⽰卷标label #显⽰卷标,同时提⽰输⼊新卷标label c:system #设置C盘的卷标为 system15 pause暂停命令 //常⽤于使命令⾏窗⼝暂停,不⾄于打开bat⽂件后⽴即结束16 rem 和 ::注释命令注释⾏不执⾏操作17 date 和 time⽇期和时间date #显⽰当前⽇期,并提⽰输⼊新⽇期,按"回车"略过输⼊date/t #只显⽰当前⽇期,不提⽰输⼊新⽇期time #显⽰当前时间,并提⽰输⼊新时间,按"回车"略过输⼊time/t #只显⽰当前时间,不提⽰输⼊新时间18 goto 和 :跳转命令:label #⾏⾸为:表⽰该⾏是标签⾏,标签⾏不执⾏操作goto label #跳转到指定的标签那⼀⾏19 find (外部命令)查找命令find "abc" c:test.txt在 c:test.txt ⽂件⾥查找含 abc 字符串的⾏如果找不到,将设 errorlevel 返回码为1find /i “abc” c:test.txt查找含 abc 的⾏,忽略⼤⼩写find /c "abc" c:test.txt显⽰含 abc 的⾏的⾏数20 more (外部命令)逐屏显⽰more c:test.txt #逐屏显⽰ c:test.txt 的⽂件内容命令21~3021 tree显⽰⽬录结构tree d: #显⽰D盘的⽂件⽬录结构22 &顺序执⾏多条命令,⽽不管命令是否执⾏成功23 &&顺序执⾏多条命令,当碰到执⾏出错的命令后将不执⾏后⾯的命令find "ok" c:test.txt && echo 成功如果找到了"ok"字样,就显⽰"成功",找不到就不显⽰24 ||顺序执⾏多条命令,当碰到执⾏正确的命令后将不执⾏后⾯的命令find "ok" c:test.txt || echo 不成功如果找不到"ok"字样,就显⽰"不成功",找到了就不显⽰25 |管道命令dir *.* /s/a | find /c ".exe"管道命令表⽰先执⾏ dir 命令,对其输出的结果执⾏后⾯的 find 命令该命令⾏结果:输出当前⽂件夹及所有⼦⽂件夹⾥的.exe⽂件的个数type c:test.txt|more这个和 more c:test.txt 的效果是⼀样的26 > 和 >>> 清除⽂件中原有的内容后再写⼊>> 追加内容到⽂件末尾,⽽不会清除原有的内容主要将本来显⽰在屏幕上的内容输出到指定⽂件中指定⽂件如果不存在,则⾃动⽣成该⽂件type c:test.txt >prn屏幕上不显⽰⽂件内容,转向输出到打印机echo hello world>con在屏幕上显⽰hello world,实际上所有输出都是默认 >con 的copy c:test.txt f: >nul拷贝⽂件,并且不显⽰"⽂件复制成功"的提⽰信息,但如果f盘不存在,还是会显⽰出错信息copy c:test.txt f: >nul 2>nul不显⽰”⽂件复制成功”的提⽰信息,并且f盘不存在的话,也不显⽰错误提⽰信息echo ^^W ^> ^W>c:test.txt⽣成的⽂件内容为 ^W > W^ 和 > 是控制命令,要把它们输出到⽂件,必须在前⾯加个 ^ 符号27 <从⽂件中获得输⼊信息,⽽不是从屏幕上⼀般⽤于 date time label 等需要等待输⼊的命令@echo offecho 2005-05-01>temp.txtdate <temp.txtdel temp.txt这样就可以不等待输⼊直接修改当前⽇期28 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*命令⾏传递给批处理的参数 //上⼀个命令的结果作为参数%0 批处理⽂件本⾝%1 第⼀个参数%9 第九个参数%* 从第⼀个参数开始的所有参数批参数(%n)的替代已被增强。
bat批处理简明教程第一部分:批处理的专用命令批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。
这些命令统称批处理命令,下面我就来给大家介绍一下批处理的命令。
1、REMREM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。
例:REM 你现在看到的就是注解,这一句将不会被执行。
在以后的例子中解释的内容都REM 会放在REM后面。
请大家注意。
2、ECHOECHO 是一个回显命令主要参数有OFF和ON,一般用ECHO message来显示一个特定的消息。
例:Echo offRem 以上代表关闭回显即不显示所执行的命令Echo 这个就是消息。
Rem 以上代表显示“这就是消息”这列字符执行结果:C:\>ECHO.BAT这个就是消息。
3、GOTOGOTO 即为跳转的意思。
在批处理中允许以“:XXX”来构建一个标号然后用GOTO :标号直接来执行标号后的命令。
例:LABELREM 上面就是名为LABEL的标号。
DIR C:\DIR D:\GOTO LABELREM 以上程序跳转标号LABEL处继续执行。
4、CALLCALL 命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理。
例:批处理2.BAT内容如下:ECHO 这就是2的内容批处理1.BAT内容如下:ECHO 这是1的内容CALL 2.BATECHO 1和2的内容全部显示完成执行结果如下:C:\>1.BAT这是1的内容这就是2的内容1和2的内容全部显示完成5、PAUSEPAUSE 停止系统命令的执行并显示下面的内容。
例:C:\> PAUSE请按任意键继续 . . .6、IFIF 条件判断语句,语法格式如下:IF [NOT] ERRORLEVEL number commandIF [NOT] string1==string2 commandIF [NOT] EXIST filename command说明:[NOT] 将返回的结果取反值即“如果没有”的意思。
批处理文件BAT命令大全欧阳家百(2021.03.07)一.简单批处理内部命令简介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 noparmsif {%2}=={} goto noparms(如果这里的if、%1、%2就是表示变量。
)@Rem check parameters if null show usage:noparmsecho Usage: monitor.bat ServerIP PortNumbergoto end标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,: 开头的字符行, 在批处理中都被视作标号, 而直接忽略其后的所有内容, 只是为了与正常的标号相区别 , 建议使用 goto 所无法识别的标号 , 即在 : 后紧跟一个非字母数字的一个特殊符号 . goto 命令就是根据这个:来寻找下一步跳到到那里。
BAT批处理中的字符串处理详解(字符串截取)批处理有着具有⾮常强⼤的字符串处理能⼒,其功能绝不低于C语⾔⾥⾯的字符串函数集。
批处理中可实现的字符串处理功能有:截取字符串内容、替换字符串特定字段、合并字符串、扩充字符串等功能下⾯对这些功能⼀⼀进⾏讲解。
1、截取字符串 截取字符串可以说是字符串处理功能中最常⽤的⼀个⼦功能了,能够实现截取字符串中的特定位置的⼀个或多个字符。
举例说明其基本功能: @echo off set ifo=abcdefghijklmnopqrstuvwxyz0123456789 echo 原字符串(第⼆⾏为各字符的序号): echo %ifo% echo 123456789012345678901234567890123456 echo 截取前5个字符: echo %ifo:~0,5% echo 截取最后5个字符: echo %ifo:~-5% echo 截取第⼀个到倒数第6个字符: echo %ifo:~0,-5% echo 从第4个字符开始,截取5个字符: echo %ifo:~3,5% echo 从倒数第14个字符开始,截取5个字符: echo %ifo:~-14,5% pause 当然,上⾯的例⼦只是将字符串处理的基本功能展⽰出来了,还看不出字符串处理具体有什么⽤处。
下⾯这个例⼦是对时间进⾏处理。
@echo off echo 当前时间是:%time% 即 %time:~0,2%点%time:~3,2%分%time:~6,2%秒%time:~9,2%厘秒 pause2、替换字符串 替换字符串,即将某⼀字符串中的特定字符或字符串替换为给定的字符串。
举例说明其功能: @echo off set aa=伟⼤的中国!我为你⾃豪! echo 替换前:%aa% echo 替换后:%aa:中国=中华⼈民共和国% echo aa = %aa% set"aa=%aa:中国=中华⼈民共和国%" echo aa = %aa% pause 对于上⾯的例⼦有⼀点说明,对⽐两个echo aa = %aa%可以发现,如果要修改变量aa的内容的话,就需要将修改结果“%aa:中国=中华⼈民共和国%”赋值给变量aa。
Windows中的批处理的常⽤符号介绍1.@ 命令⾏回显屏蔽符ECHO OFF可以关闭掉整个批处理命令的回显,但不能关掉ECHO OFF这个命令本⾝,现在我们在ECHO OFF这个命令前加个@,就可以达到所有命令均不回显的要求。
该符号在批处理中的作⽤是关闭当前⾏命令的回显,也就是不显⽰执⾏的是什么命令,只显⽰命令的结果!2.> 重定向符将>之前的命令执⾏的结果输出到>之后指定的设备或⽂件中去,特定的⽂件或标准输出(stdout--默认为系统控制台),若⽂件中有数据则覆盖。
>> 重定向符需要显⽰的数据追加到指定的输出⽂件之中,⽽不覆盖原来的内容。
< 输⼊重定向将输⼊信息来源重定向为指定的设备或⽂件,系统默认接收键盘输⼊。
>&将⼀个句柄的输出写⼊到另⼀个句柄的输⼊中<&刚好和>&相反,从⼀个句柄读取输⼊并将其写⼊到另⼀个句柄输出中常⽤句柄0、1、2,未定义句柄3-9其中的1与2都是代表某个数据流输⼊输出的地址(NT CMD 称之为句柄,MSDOS称之为设备)。
句柄0:标准输⼊stdin,键盘输⼊ 句柄1:标准输出stdout,输出到命令提⽰符窗⼝(console,代码为CON) 句柄2:标准错误stderr,输出到命令提⽰符窗⼝(console,代码为CON) 其中的stdin可被<重定向,stdout可被>、>>重定向,⽽stderr在DOS下不可直接重定向,只有通过ctty或其它命令将系统控制权转交给其它设备的⽅式,来间接完成。
注意:如果⽤在 set /a 语句中,则>表⽰分组,>>表⽰逻辑移位。
Dos代码@echo off@rem echo 关闭命令显⽰,@关闭echo off本⾝的显⽰rem ==============设置标题title=================rem -使⽤该⽂件的名称作为标题title 测试bat的⽂件(test.bat--重定向)rem ===============重定向符>=====================rem 将当前⽂件的内容输出到指定的⽂件tb.txt⽽⾮控制台type d:\test\bak\tt.txt>d:\test\bak\tb.txtrem 将特定的字符串"Hello China "(注意最后的空格)写⼊到指定的⽂件echo Hello China >d:\test\bak\tc.txtrem ===============重定向符>>====================echo hello>d:\test\bak\td.txtecho world>>d:\test\bak\td.txtrem ===============重定向符<=====================rem 重新设定当前时间echo 2010-01-12>d:\test\bak\te.txtdate <d:\test\bak\te.txtdel d:\test\bak\te.txtrem ===============重定向符<=====================rem 如果e盘存在则将其下⾯的⽂件信息输出到te.txt 否则将错误信息输出到err.txtdir e:\ 1>d:\test\bak\te.txt 2>d:\test\bak\err.txt@pause3.| 命令管道符管道命令,将|之前的命令的输出作为|之后的命令的输⼊。
bat批处理命令大全1从简单学起echo、@、call、pause、rem 是批处理文件最常用的几个命令,我们就从他们开始学起。
echo 表示显示此命令后的字符echo off 表示在此语句后所有运行的命令都不显示命令行本身@ 与echo off相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。
call 调用另一条批处理文件(如果直接调用别的批处理文件,执行完那条文件后将无法执行当前文件后续命令)pause 运行此句会暂停,显示Press any key to continue... 等待用户按任意键后继续 rem 表示此命令后的字符为解释行,不执行,只是给自己今后查找用的批处理命令大全(一)第一部分:批处理的专用命令批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。
这些命令统称批处理命令,下面我就来给大家介绍一下批处理的命令。
1、REMREM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。
例:REM 你现在看到的就是注解,这一句将不会被执行。
在以后的例子中解释的内容都REM 会放在REM后面。
请大家注意。
2、 ECHOECHO 是一个回显命令主要参数有OFF和 ON,一般用ECHO message来显示一个特定的消息。
例: Echo offRem 以上代表关闭回显即不显示所执行的命令 Echo 这个就是消息。
Rem 以上代表显示“这就是消息”这列字符执行结果: C:\\>ECHO.BAT 这个就是消息。
3、 GOTOGOTO 即为跳转的意思。
在批处理中允许以“:XXX”来构建一个标号然后用GOTO :标号直接来执行标号后的命令。
例 :LABELREM 上面就是名为LABEL的标号。
DIR C:\\ DIR D:\\ GOTO LABELREM 以上程序跳转标号LABEL处继续执行。
4、CALLCALL 命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理。
.bat 重定向用法“[.bat 重定向用法]”指的是在批处理文件中使用重定向来处理输入和输出。
批处理文件(.bat)是一种运行在Windows系统上的脚本文件,通过一系列命令来执行特定的任务。
其中,重定向是一种将程序的输入或输出从默认的位置改为指定的位置的方式。
在下面的文章中,我们将逐步回答关于[.bat 重定向用法]的问题,帮助读者理解如何在批处理文件中使用重定向。
第一步:了解输入和输出在开始使用重定向之前,我们需要先理解什么是输入和输出。
在计算机领域,输入通常是指程序所接收到的数据,而输出则是指程序所生成的结果。
在批处理文件中,输入可以来自于键盘、文件或其他程序的输出,输出则可以显示在屏幕上、保存到文件中或传递给其他程序。
第二步:掌握标准输入、标准输出和标准错误在批处理文件中,有三个默认的数据流被称为标准输入、标准输出和标准错误。
标准输入(stdin)是程序接收输入数据的位置,标准输出(stdout)是程序输出结果的位置,而标准错误(stderr)则用于显示程序执行过程中的错误信息。
默认情况下,这三个数据流都与控制台(屏幕)相关联。
第三步:使用重定向符号为了改变默认的输入和输出位置,我们可以使用重定向符号。
在批处理文件中,重定向符号包括大于号(>)和小于号(<)。
大于号表示重定向输出,小于号表示重定向输入。
第四步:重定向输出如果我们想将程序的输出保存到文件中而不是显示在屏幕上,可以使用大于号来重定向输出。
例如,假设我们有一个名为test.bat的批处理文件,其中包含以下命令:echo Hello, World!如果我们执行这个批处理文件,会在屏幕上显示"Hello, World!"。
但是,如果我们在命令的末尾添加大于号和一个文件名,如下所示:echo Hello, World! > hello.txt那么,"Hello, World!"将会被保存到名为hello.txt的文件中,而不是显示在屏幕上。
bat批处理命令用法在Windows系统中,批处理(Batch)是一种脚本处理语言,通常用于自动化一系列的命令或任务。
bat批处理命令通过将一系列命令组合成一个文件,让用户可以方便地执行一系列操作。
这篇文章将详细介绍bat批处理命令的基本用法。
在bat批处理文件中,可以使用各种命令和语句来执行一系列的操作。
这些命令和语句遵循特定的语法规则,并按照顺序执行。
常用的命令包括:* 赋值(SET)* 条件判断(IF)* 循环(FOR)* 终止(EXIT)二、常用bat批处理命令详解1. 赋值(SET):用于设置变量的值。
语法为“SET 变量名=值”。
例如,“SET myVariable=Hello World”。
2. 条件判断(IF):用于根据条件执行不同的操作。
语法为“IF 条件 THEN 命令”。
例如,“IF %errorlevel% NEQ 0 GOTO error”。
3. 循环(FOR):用于重复执行一组命令。
语法为“FOR 变量 IN 范围 DO 命令”。
例如,“FOR %%a IN (A B C) DO (echo %%a)”。
4. 终止(EXIT):用于退出批处理文件。
语法为“EXIT”。
例如,“EXIT /B”。
下面是一个简单的bat批处理文件示例,它列出当前目录中的所有文件:@echo offsetlocaldir /b /s > list.txtecho.echo 所有文件已列出在list.txt中。
pause >nulexit这个批处理文件首先使用dir命令列出当前目录及其子目录中的所有文件,并将结果重定向到一个名为list.txt的文件中。
然后,它输出一条消息,提示用户所有文件已列出在list.txt中,并等待用户按任意键继续。
最后,它退出批处理文件。
* 在命令前加上@字符可以隐藏命令执行结果。
例如,使用@echo off可以禁止在命令提示符下显示批处理文件的名称。
* 使用setlocal命令可以避免变量冲突。
1 echo 和@回显控制命令@ #关闭单行回显echo off #从下一行开始关闭回显@echo off #从本行开始关闭回显。
一般批处理第一行都是这个echo on #从下一行开始打开回显echo #显示当前是echo off 状态还是echo on 状态echo. #输出一个"回车换行",一般就是指空白行echo helloworld #输出hell o world"关闭回显"是指运行批处理文件时,不显示文件里的每条命令,只显示运行结果批处理开始和结束时,系统都会自动打开回显2 errorl evel程序返回码echo %errorl evel%每个命令运行结束,可以用这个命令行格式查看返回码用于判断刚才的命令是否执行成功默认值为0,一般命令执行出错会设errorl evel为13 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文件如果指定的目录或文件不存在,将返回 errorl evel为1;每个文件夹的dir 输出都会有2个子目录. 和... 代表当前目录.. 代表当前目录的上级目录dir . #显示当前目录中的文件和子目录dir .. #显示当前目录的上级目录中的文件和子目录其它参数可参考dir /?4 cd更改当前目录cd mp3 #进入当前目录中的mp3目录cd .. #进入当前目录中的上级目录cd\ #进入根目录cd #显示当前目录cd /d d:\mp3 #可以同时更改盘符和目录cd "Docume nts and Settin gs"\All users文件名带空格,路径前需要加上引号!!如果更改到的目录不存在,则出错返回 errorl evel=15 md创建目录md abc #在当前目录里建立子目录abcmd 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.bakren *.txt *.ini #把当前目录里所有.txt文件改成.ini文件ren d:\temp tmp #支持对文件夹的重命名9 cls清屏10 type显示文件内容type c:\b oot.ini #显示指定文件的内容,程序文件一般会显示乱码type *.txt #显示当前目录里所有.txt文件的内容11 copy拷贝文件copy c:\test.txt d:\复制c:\test.txt 文件到d:\copy c:\test.txt d:\test.bak复制c:\test.txt 文件到d:\ ,并重命名为test.bakcopy c:\*.*复制c:\ 所有文件到当前目录,不包括隐藏文件和系统文件不指定目标路径,则默认目标路径为当前目录copy con test.txt从屏幕上等待输入,按C trl+Z 结束输入,输入内容存为test.txt文件c on代表屏幕,prn代表打印机,nul代表空设备copy 1.txt + 2.txt 3.txt合并1.txt 和2.txt 的内容,保存为3.txt 文件如果不指定3.txt ,则保存到1.txtcopy test.txt +复制文件到自己,实际上是修改了文件日期12 title设置cmd窗口的标题title新标题 #可以看到cm d窗口的标题栏变了13 ver显示系统版本14 label和vol设置卷标vol #显示卷标label #显示卷标,同时提示输入新卷标labelc:system #设置C盘的卷标为 system15 pause暂停命令运行该命令时,将显示下面的消息:请按任意键继续 . . .一般用于看清楚屏幕上显示的内容16 rem 和::注释命令注释行不执行操作17 date 和time日期和时间date #显示当前日期,并提示输入新日期,按"回车"略过输入date/t #只显示当前日期,不提示输入新日期time #显示当前时间,并提示输入新时间,按"回车"略过输入time/t #只显示当前时间,不提示输入新时间18 goto 和:跳转命令:label #行首为:表示该行是标签行,标签行不执行操作goto label #跳转到指定的标签那一行19 find (外部命令)查找命令find "abc" c:\test.txt在c:\test.txt 文件里查找含abc 字符串的行如果找不到,将设 errorl evel返回码为1find /i "abc" c:\test.txt查找含abc 的行,忽略大小写find /c "abc" c:\test.txt显示含abc 的行的行数20 more (外部命令)逐屏显示more c:\test.txt #逐屏显示c:\test.txt 的文件内容21 tree显示目录结构tree d:\ #显示D盘的文件目录结构22 &顺序执行多条命令,而不管命令是否执行成功c: & cd\ & dir /w相当于把下面3行命令写到1行去了c:cd\dir /w23 &&顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令f: && cd\ && dir >c:\test.txt注意如果f盘不存在,那么后面2条命令将不会执行find "ok" c:\test.txt && echo 成功如果找到了"ok"字样,就显示"成功",找不到就不显示24 ||顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令find "ok" c:\test.txt || echo 不成功如果找不到"ok"字样,就显示"不成功",找到了就不显示25 |管道命令前一个命令的执行结果输出到后一个命令dir *.* /s/a | find /c ".exe"管道命令表示先执行dir 命令,对其输出的结果执行后面的find 命令该命令行结果:输出当前文件夹及所有子文件夹里的.exe文件的个数type c:\test.txt|more这个和more c:\test.txt 的效果是一样的26 > 和>>输出重定向命令> 清除文件中原有的内容后再写入>> 追加内容到文件末尾,而不会清除原有的内容主要将本来显示在屏幕上的内容输出到指定文件中指定文件如果不存在,则自动生成该文件echo helloworld>c:\test.txt生成c:\test.txt文件,内容为hel lo world这个格式在批处理文件里用得很多,可以生成.reg .bat .vbs 等临时文件type c:\test.txt >prn屏幕上不显示文件内容,转向输出到打印机echo helloworld>con在屏幕上显示he llo world,实际上所有输出都是默认>con 的copy c:\test.txt f: >nul拷贝文件,并且不显示"文件复制成功"的提示信息,但如果f盘不存在,还是会显示出错信息copy c:\test.txt f: >nul 2>nul不显示"文件复制成功"的提示信息,并且f盘不存在的话,也不显示错误提示信息echo ^^W ^> ^W>c:\test.txt生成的文件内容为^W > W^ 和> 是控制命令,要把它们输出到文件,必须在前面加个^ 符号27 <从文件中获得输入信息,而不是从屏幕上一般用于 date time label等需要等待输入的命令@echo offech o 2005-05-01>temp.txtdat e <temp.txtdel temp.txt这样就可以不等待输入直接修改当前日期28 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*命令行传递给批处理的参数%0 批处理文件本身%1 第一个参数%9 第九个参数%* 从第一个参数开始的所有参数在C盘根目录新建tes t.bat,内容如下:@echo offech o cho cho .cho %*运行cmd,输入c:\test.bat "/a" /b /c /d可以看出每个参数的含意修改test.bat内容如下@echo offech o cho %~1echocho %~f0echo %~d0echo %~p0echo %~n0echo %~x0echo %~s0echo %~a0echo %~t0echo %~z0再运行cmd,输入c:\test.bat "/a" /b /c /d可以参照call/? 或for/? 看出每个参数的含意注意这里可以对文件进行日期比较和大小比较echo load "%%1" "%%2">c:\test.txt生成的文件内容为load "%1" "%2"批处理文件里,用这个格式把命令行参数输出到文件31 set设置变量引用变量可在变量名前后加% ,即%变量名%set #显示目前所有可用的变量,包括系统变量和自定义的变量echo %System Drive% #显示系统盘盘符。
批处理文件(BAT)中的一些符号字符 2011年05月18日 星期三 12:02
1. 1 .批处理文件(BAT)中的一些符号 2. 与echo连用,作用是换行 3. 示例1 [输出空行] 4. echo. 5. 6. 7. 2 > 定向符[输出] 8. 将命令的输出进行重定向 [一般用于将结果写入文件] 9. 注意 nul 为空设备 >nul 则用于屏蔽输出内容 [如 pause>nul] 10. 示例2 [向1.txt中写入字符串 wind] 11. echo wind>1.txt 12. 13. 14.3 >> 定向符[输出] 15. 将命令的输出进行重定向 [一般用于将结果写入文件] 16. 注意,定向到文件时,它是在末尾追加 > 则会覆盖 17. 示例3 [向1.txt中追加写入字符串 wind] 18. echo wind>>1.txt 19. 20. 21.4 < 定向符[输入] 22. 配合set /p 使用时,从指定的文件中获取字符串 赋值给变量 23. 示例4 [将1.txt中第1行内容赋值给变量 wind] 24. set /p wind=<1.txt 25. 26. 27. 28.5 & 连接符 29. 连接两个命令 30. 注意 不论前面的命令是否成功执行 后面的命令都将执行 31. 示例5 [依次执行两个echo 命令] 32. echo wind& echo snow 33. 34. 35.6 && 连接符 36. 连接两个命令 37. 注意 仅当前面的命令成功执行时 后面的命令才会被执行 38. 示例6 [echo 命令成功执行 type 命令也将被执行] 39. echo wind&& type 1.txt 40. 示例7 [hello 命令执行失败 type 命令不会被执行] 41. hello&& type 1.txt 42. 43. 44.7 || 连接符 45. 连接两个命令 46. 注意 仅当前面的命令执行失败时 后面的命令才会被执行 47. 示例8 [echo 命令成功执行 type 命令不会被执行] 48. echo wind|| type 1.txt 49. 示例9 [hello 命令执行失败 type 命令将被执行] 50. hello|| type 1.txt 51. 52. 53.8 | 传递符 54. 将前面命令的结果 传递给后面的命令使用 [一般用于查找] 55. 示例10 [显示字符串wind 并 传递给find 查找 关键字 w] 56. echo wind| find "w" 57. 2,6,7,8综合 示例11 [将字符串传递给find查找 并 输出查找结果] 58. echo wind| find "w">nul&& echo 找到字符w|| echo 未找到字符w 59. 60. 61.9 ^ 转义符 [脱字符] 62. 脱去特殊符号的作用 使之成为一个纯粹的符号 63. 示例12 [输出字符串 &&&&& ] 64. echo ^&^&^&^&^& 65. 66. 67. 68.10 @ at 69. 其作用相当于 echo off 不显示命令本身 70. 不同之处是@仅处理单个命令 echo off则是全局的 71. 示例13 [命令行不会显示] 72. @echo wind 73. 74. 75.11 % 百分号 76. 两个百分号表示取值 77. 示例14 [显示变量 wind 的值 smile] 78. set wind=smile 79. echo wind的值为 %wind% 80. 注意,如果要输出一个百分号 则在批处理中要写成两个 81. 82. 83.12 * 星号 84. 通配作用 85. 示例15 [删除所有文本文件] 86. del *.txt
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Dos批处理中符号作用大全 2007-07-14 10:43 @ \\隐藏命令的回显。
~ \\在for中表示使用增强的变量扩展; 在set中表示使用扩展环境变量指定位置的字符串; 在set/a中表示按位取反。
% \\使用两个%包含一个字符串表示引用环境变量。比如一个%time%可以扩展到当前的系统时间; 单个%紧跟0-9的一个数字表示引用命令行参数; 用于for中表示引用循环变量; 连续的两个%表示执行时脱为一个%。
^ \\取消转义字符,即将所有转义字符的转义作用关闭。比如要在屏幕显示一些特殊的字符,比如> >> | ^等时,就可以在其前面加一个^符号来显示这个^后面的字符了,^^就是显示一个^,^|就是显示一个|字符了; 在set/a中是按位异; 在findstr/r的[]中表示不匹配指定的字符集。
& \\命令连接字符。比如我要在一行文本上同时执行两个命令,就可以用&命令连接这两个命令; 在set/a中是按位与。
* \\代表任意个任意字符,就是我们通常所说的"通配符";比如想在c盘的根目录查找c盘根目录里所有的文本文件(.txt),那么就可以输入命令"dir c:\*.txt"; 在set/a中是乘法。比如"set/a x=4*2",得到的结果是8; 在findstr/r中表示将前一个字符多次匹配。 () \\命令包含或者是具有优先权的界定符吧,比如for命令要用到这个(),我们还可以在if,echo等命令中见到它的身影;
- \\范围表示符,比如日期的查找,for命令里的tokens操作中就可以用到这个字符; 在findstr/r中连接两个字符表示匹配范围; -跟在某些命令的/后表示取反向的开关。
+ \\主要是在copy命令里面会用到它,表示将很多个文件合并为一个文件,就要用到这个+字符了; 在set/a中是加法。
| \\管道符。就是将上一个命令的输出,作为下一个命令的输入."dir /a/b | more"就可以逐屏的显示dir命令所输出的信息; 在set/a中是按位或; 在帮助文档中表示其前后两个开关、选项或参数是二选一的。
: \\标签定位符,可以接受goto命令所指向的标签。比如在批处理文件里面定义了一个":begin"标签,用"goto begin"命令就可以转到":begin"变迁后面来执行批处理命令了。
" " \\界定符,在表示带有空格的路径时常要用""来将路径括起来,在一些命令里面也需要" "符号; 在for/f中将表示它们包含的内容当作字符串分析; 在for/f "usebackq"表示它们包含的内容当作文件路径并分析其文件的内容; 在其它情况下表示其中的内容是一个完整的字符串,其中的>、>>、<、&、|、空格等不再转义。
/ \\表示其后的字符(串)是命令的功能开关(选项)。比如"dir /s/b/a-d"表示"dir"命令指定的不同的参数; 在set/a中表示除法。
> \\命令重定向符,将其前面的命令的输出结果重新定向到其后面的设备中去,后面的设备中的内容被覆盖。比如可以用"dir > lxmxn.txt"将"dir"命令的结果输出到"lxmxn.txt"这个文本文件中去; 在findstr/r中表示匹配单词的右边界,需要配合转义字符\使用。 >> \\命令重定向符。将其前面的命令的输出结果重新定向到其后面的设备中去,后面设备中的内容没有被覆盖。
< \\将其后面的文件的内容作为其前面命令的输入。 在findstr/r中表示匹配单词的左边界,需要配合转义字符\使用。
= \\赋值符号,用于变量的赋值。比如"set a=windows"的意思意思是将"windows"这个字符串赋给变量"a"; 在set/a中表示算术运算,比如"set /a x=5-6*5"。
\ \\这个"\"符号在有的情况下,代表的是当前路径的根目录.比如当前目录在c:\windows\system32下,那么你"dir \"的话,就相当与"dir c:\" 在findstr/r中表示正则转义字符。
'' 在for/f中表示将它们包含的内容当作命令行执行并分析其输出; 在for/f "usebackq"中表示将它们包含的字符串当作字符串分析。
. \\ 在路径的\后紧跟或者单独出现时: 一个.表示当前目录; 两个.表示上一级目录; 在路径中的文件名中出现时: 最后的一个.表示主文件名与扩展文件名的分隔。
&& \\连接两个命令,当&&前的命令成功时,才执行&&后的命令;
|| \\连接两个命令,当||前的命令失败时,才执行||后的命令。
$ \\在findstr命令里面表示一行的结束。
`` 在for/f中表示它们所包含的内容当作命令行执行并分析它的输出。
[]