下载此文档

最全批处理命令学习资料【完美版】.doc


文档分类:IT计算机 | 页数:约27页 举报非法文档有奖
1/27
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/27 下载此文档
文档列表 文档介绍
该【最全批处理命令学习资料【完美版】 】是由【花双韵芝】上传分享,文档一共【27】页,该文档可以免费在线阅读,需要了解更多关于【最全批处理命令学习资料【完美版】 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。一:批处理文件批处理文件是扩展名为·bat 或·cmd的文本文件,包含一条或多条命令,由DOS或Windows系统内嵌的命令解释器来解释运行。批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。二:常用命令:@:@#关闭单行回显echooff#从下一行开始关闭回显***@echooff#从本行开始关闭回显,一般批处理第一行都是这个echoon#从下一行开始打开回显echo#显示当前是echooff状态还是echoon状态echo.#输出一个”回车换行”,空白行#(同echo,echo;echo+echo[echo]echo/echo")%errorlevel%每个命令运行结束,可以用这个命令行格式查看返回码默认值为0,一般命令执行出错会设errorlevel为1目录操作类命令:#显示当前目录中的文件和子目录dir/a#显示当前目录中的文件和子目录,包括隐藏文件和系统文件dirc:/a:d#显示C盘当前目录中的目录dirc:/a:-d#显示C盘根目录中的文件dirc:"/b/p#/b只显示文件名,/p分页显示dirc:"/b/p#/w不显示详细信息dir*.exe/s# # 显示每个文件夹中文件的名字。建立子目录mdd:"a"b"c#如果d:"a 不存在,将会自动创建中级目录如果命令扩展名被停用,则需要键入mkdir"a"b"c改变当前目录(进入)cd#进入根目录cd#显示当前目录cd/dd:\sdk#可以同时更改盘符和目录cd..#返回上一级目录删除子目录命令rdabc#删除当前目录里的abc子目录,要求为空目录rd/s/qd:\temp#删除d:"temp文件夹及其子文件夹和文件/q安静模式磁盘操作类命令:磁盘格式化命令检查磁盘当前状态命令建立磁盘卷标命令显示磁盘卷标命令文件操作类命令: 文件复制命令copyc:\d:复制c:\ 文件到d:\ ,并重命名为copycon从屏幕上等待输入,按Ctrl+Z结束输入,输入内容存为文件con代表屏幕,prn代表打印机,nul代表空设备copy+合并 和 的内容,保存为 文件如果不指定 ,则保存到copy+复制文件到自己,:\temptmp##查看文件属性+#设置属性-#清除属性r#只读文件a#存档文件s#系统文件H#隐藏文件/S#处理当前文件夹及其所有子文件夹中的匹配文件/D#:\#显示指定文件的内容,程序文件一般会显示乱码type*.txt#:#删除指定文件,不能是隐藏、系统、只读文件del/q/a/fd:"temp"*.*#删除d:"temp文件夹里面的所有文件包括隐藏、只读、系统文件,不包括子目录del/q/a/f/sd:"temp"*.*#删除d:"temp及子文件夹里面的所有文件包括隐藏、只读、系统文件,不包括子目录其他命令:,date系统时钟日期设置/显示命令date#显示当前日期,并提示输入新日期,按""回车""略过输入date/t#只显示当前日期,不提示输入新日期time#显示当前时间,并提示输入新时间,按""回车""略过输入time/t#只显示当前时间,:: 设置默认的控制台前景和背景颜色逻辑命令: 和:跳转命令:label # 行首为:表示该行是标签行,标签行不执行操作gotolabel # 定义变量引用变量可在变量名前后加 %,即%变量名%set # 显示目前所有可用的变量, 包括系统变量和自定义的变量echo%SystemDrive% #setpsetp=aa1bb1aa2bb2 #aa1bb1aa2bb2echo%p% #echo%p:~6% #echo%p:~6,3% #echo%p:~0,3% #echo%p:~-2% #echo%p:~0,-2% #aa1bb1aa2becho%p:aa=c% #echo%p:aa=% #1bb12bb2echo%p:*bb=c% #c1aa2bb2setp=%p:*bb=c% #set/ap=39 #set/ap=39/10 #set/ap=p/10 #显示系统盘盘符。系统变量可以直接引用显示所有以p开头的变量,有就设errorlevel=1设置变量p,并赋值为=后面的字符串,即显示变量p代表的字符串,即 aa1bb1aa2bb2显示变量p中第6个字符以后的所有字符,即aa2bb2显示第6个字符以后的3个字符,即aa2显示前3个字符,即aa1显示最后面的 2个字符,即 b2显示除了最后 2个字符以外的其它字符,即用c替换变量p中所有的aa,即显示c1bb1c2bb2将变量 p中的所有 aa字符串置换为空,即显示第一个 bb及其之前的所有字符被替换为 c,即显示设置变量p,赋值为%p:*bb=c%,即c1aa2bb2设置p为数值型变量,值为39支持运算符,有小数时用去尾法,去尾得 3,p=3用/a 参数时,在 = 后面的变量可以不加 %直接引用set/ap=”1&0″setp= ##”与”运算,要加引号。其它支持的运算符参见取消p变量set/?set/pp= 请输入屏幕上显示”请输入”choice 命令,并会将输入的字符串赋值给变量p注意这条可以用来取代注意变量在if和for的复合语句里是一次性全部替换的,如***@echooffsetp=aaaif%p%==aaa(echo%p%setp=bbbecho%p%)结果将显示aaaaaa因为在读取 if 语句时已经将所有 %p%替换为aaa这里的""替换"",在/? 帮助里就是指 ""扩充""、""环境变量扩充 ""可以启用”延缓环境变量扩充” ,用! 来引用变量,即 !变量名!***@echooffSETLOCALENABLEDELAYEDEXPANSIONsetp=aaaif%p%==aaa(echo%p%setp=bbbecho!p!)ENDLOCAL结果将显示aaabbb还有几个动态变量,运行%CD%set看不到#代表当前目录的字符串%DATE%#当前日期%TIME%#当前时间%RANDOM%#随机整数,介于0~32767%ERRORLEVEL%#当前ERRORLEVEL值%CMDEXTVERSION%#当前命令处理器扩展名版本号%CMDCMDLINE%#调用命令处理器的原始命令行可以用echo命令查看每个变量值,如 echo%time%注意%time%精确到毫秒,在批处理需要延时处理时可以用到[变量大全]系统变量:系统将其根据事先定义的条件自动赋值 ,也就是系统已经给他们定义了值 ,不需要我们来给他赋值,我们只需要调用。%ALLUSERSPROFILE%本地返回“所有用户”配置文件的位置。%APPDATA%本地返回默认情况下应用程序存储数据的位置。%CD%本地返回当前目录字符串。%CMDCMDLINE%本地返回用来启动当前的的准确命令行。%CMDEXTVERSION%系统返回当前的“命令处理程序扩展”的版本号。%COMPUTERNAME%系统返回计算机的名称。%COMSPEC%系统返回命令行解释器可执行程序的准确路径。%DATE%系统返回当前日期。使用与date/t命令相同的格式。由生成。%ERRORLEVEL%系统返回上一条命令的错误代码。通常用非零值表示错误。%HOMEDRIVE%系统返回连接到用户主目录的本地工作站驱动器号。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。%HOMEPATH% 系统 返回用户主目录的完整路径。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。%HOMESHARE% 系统 返回用户的共享主目录的网络路径。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。%LOGONSERVER% 本地 返回验证当前登录会话的域控制器的名称。%NUMBER_OF_PROCESSORS%%OS% 系统返回操作系统名称。系统 指定安装在计算机上的处理器的数目。Windows2000 显示其操作系统为 Windows_NT。%PATH% 系统 指定可执行文件的搜索路径。%PATHEXT% 系统 返回操作系统认为可执行的文件扩展名的列表。%PROCESSOR_ARCHITECTURE% 系统 返回处理器的芯片体系结构。%PROCESSOR_IDENTFIER% 系统返回处理器说明。%PROCESSOR_LEVEL% 系统 返回计算机上安装的处理器的型号。%PROCESSOR_REVISION%系统 返回处理器的版本号。%PROMPT% 本地 返回当前解释程序的命令提示符设置。由 生成。%RANDOM% 系统返回 0到32767 之间的任意十进制数字。由%SYSTEMDRIVE% 系统 返回包含 Windowsserveroperatingsystem生成。根目录(即系统根目录)的驱动器。%SYSTEMROOT%%TEMP% 和 %TMP%系统 返回系统和用户Windowsserveroperatingsystem 根目录的位置。返回对当前登录用户可用的应用程序所使用的默认临时目录。%TIME%系统 返回当前时间。使用与time/t命令相同的格式。由生成。%USERDOMAIN% 本地返回包含用户帐户的域的名称。%USERNAME% 本地 返回当前登录的用户的名称。%USERPROFILE% 本地 返回当前用户的配置文件的位置。%WINDIR% 系统 返回操作系统目录的位置。暂停命令判断命令mand通常情况下,命令执行成功后,系统变量若命令失败,或遇到非法命令,系统变量#判断命令是否正确运行ERRORLEVEL会被设置成 0,ERRORLEVEL会被设置成非 0。ifstring1==mand#判断某两个字符串是否相等mand#判断驱动器、文件或文件夹是否存在mand#判断某个变量是否已经被赋值if1equ2#判断某两个数值是否相等EQU#等于==NEQ#不等于!=LSS#小于<LEQ#小于或等于<=GTR#大于>GEQ注:#大于或等于 >=#ELSE子句必须出现在同一行上的IF之后Example:if""%1""==""/a""echo第一个参数是 /aif/i""%1""equ""/a""echo第一个参数是 /a/i 表示不区分大小写,equ和==是一样的其它运算符参见if/?ifexistc:\echo 存在 文件ifnotexistc:\windows(echo 不存在c:"windows 文件夹)ifexistc:\(echo 存在c:)else(echo 不存在c:)ifexist 文件名 待执行的命令如果有指定的文件,则条件成立,运行命令,否则运行下一句。如ifexisteditiferrorlevel/ifnoterrorlevel 数字 待执行的命令如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。 命令 调用子程序CALL[drive:][path]filename[batch-parameters]batch-parameters 指定批处理程序所需的命令行信息(参数) 。命令循环退出命令/F#分块提取文件/D#显示当前目录下所有指定的目录名称/R/L#枚举文件和目录#计次循环子参数:tokens(块)、delims(分块标志)、eol(忽略行)、skip(跳过行)、userbackq(支持长路径名)CMD窗口中:for%mand1)mand2批处理中:for%%mand1)mand21、for、in和do是for 语句的关键字,它们三个缺一不可;2、%%I是for 语句中对形式变量的引用,就算它在 do后的语句中没有参与语句的执行,也是必须出现的;3、in之后,do之前的括号不能省略;mand1表示字符串或变量, command2表示字符串、变量或命令语句;***@echoofffor%%Iindoecho%%Ipause1、for 语句的形式变量 I,可以换成 26个字母中的任意一个,这些字母会区分大小写,也就是说,%%I和%%i会被认为不是同一个变量;形式变量 I还可以换成其他的字符,但是,为了不与批处理中的 %0~%9这10个形式变量发生冲突,请不要随意把 %%I替换为%%0~%%9中的任意一个;2、mand1表示的字符串或变量可以是一个,也可以是多个,每一个字符串或变量,我们称之为一个元素,每个元素之间,用空格键、跳格键、逗号、分号或等号分隔;3、for mand1中的每一个元素,把它的值赋予形式变量I,带到do后的command2中参与命令的执行;并且每次只提取一个元素,然后执行一次do后的命令语句,而无mand2的运行;mand1中的下一个元素,mand2,如此循环,直到mand1中的所有元素都已经被提取完毕,该 for 语句才宣告执行结束;Example:for/f"tokens=1delims="%%aindo(echo%%a)取第1行并显示for/f"tokens=1,2delims="%%aindo(echo%%a%%b)取1,2行并显示for/f"tokens=1-3delims="%%aindo(echo%%a%%b%%c)取1到3行并显示for/f"tokens=2,3,*delims="%%aindo(echo%%a%%b%%c)取2,3行并显示for/f"eol=!tokens=*"%%aindo(echo%%a)忽略!开头的行并显示for/f"skip=3tokens=*"%%aindo(echo%%a)忽略前三行并显示for/d%%ain(pro*,doc*)do(echo%%a)显示以pro开头的目录名称,显示以doc开头的目录名称for/r%systemroot%%%ain(*.tmp)do(echo%%a)显示root目录下后缀名为.tmp的文件及目录seti=0for/l%%ain(1,1,100)do(set/ai+=1)echo结算结果: %i%(变量起始值,每次递加的步长,终止值 )for/f"usebackq"%%ain("C:\ProgramFiles\")do(echo%%a)显示jksing 中的内容,若去掉usebackq,则输出C:\Programfor/r%%iin(*.txt)do(echo%%~fi)for%%iin(c:d:e:f:)doecho%%i依次调用小括号里的每个字符串,执行 do注意%%i,在批处理中 for 语句调用参数用默认的字符串分隔符是 ""空格键"",""Tab后面的命令2个%键"",""回车键""for%%iin(*.txt)dofind""abc""%%i对当前目录里所有的txt文件执行find命令for/r.%%iin(*.txt)dofind""abc""%%i在当前目录和子目录里所有的.txt文件中搜索包含abc字符串的行for/r.%%iin(.)doecho%%~pn显示当前目录名和所有子目录名,包括路径,不包括盘符for/rd:"mp3%%iin(*.mp3)doecho%%i>>d:"把d:"mp3及其子目录里的mp3文件的文件名都存到d:"里去for/l%%iin(2,1,8)doecho%%i生成2345678的一串数字,2是数字序列的开头,8是结尾,1表示每次加1for/f%%iin('set')doecho%%i对set 命令的输出结果循环调用,每行一个for/f""eol=P""%%iin('set')doecho%%i取set 命令的输出结果,忽略以 P 开头的那几行for/f%%iin(d:"doecho%%i显示d:" 里的每个文件名,每行一个,不支持带空格的名称for/f""delims=""%%iin(d:"doecho%%i显示d:" 里的每个文件名,每行一个,支持带空格的名称for/f""skip=5tokens=4""%%ain('dir')doecho%%a对dir 命令的结果,跳过前面 5行,余下的每行取第 4列每列之间的分隔符为默认的 ""空格""可以注意到 dir 命令输出的前 5行是没有文件名的for/f""tokens=1,2,3delims=-""%%ain('date/t')do(echo%%aecho%%becho%%c)对date/t的输出结果,每行取1、2、3列第一列对应指定的%%a,后面的%%b和%%c是派生出来的,对应其它列分隔符指定为-和""空格"",注意delims=-后面有个""空格""其中tokens=1,2,3若用tokens=1-3替换,效果是一样的for/f""tokens=2*delims=-""%%ain('date/t')doecho%%b取第2列给%%a,其后的列都给%%%0%1%2%3%4%5%6%7%8%9%*i%%命令行传递给批处理的参数%0#批处理文件本身%1#第一个参数%9#第九个参数%*#从第一个参数开始的所有参数参数扩展:%~1#删除引号(""),扩充%1%~f1#将%1扩充到一个完全合格的路径名%~d1#仅将%1扩充到一个驱动器号%~p1#仅将%1扩充到一个路径%~n1#仅将%1扩充到一个文件名%~x1#仅将%1扩充到一个文件扩展名%~s1#扩充的路径指含有短名%~a1#将%1扩充到文件属性%~t1#将%1扩充到文件的日期/时间%~z1#将%1扩充到文件的大小%~$PATH#查找列在PATH环境变量的目录,并将%1扩充到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串可以组合修定符来取得多重结果 :%~dp1 #只将%1扩展到驱动器号和路径%~nx1 #只将%1扩展到文件名和扩展名%~dp$PATH: #在列在 PATH环境变量中的目录里查找 %1,并扩展到找到的第一个文件的驱动器号和路径%~ftza1 #将%1扩展到类似 DIR 查找命令(外部命令)在文件中搜索字符串find""abc""c:"在c:"文件里查找含abc字符串的行如果找不到,将设errorlevel返回码为1find/i“abc”c:"查找含abc 的行,忽略大小写find/c""abc""c:"显示含abc 逐屏显示输出morec:" # 逐屏显示 c:" '文件扩展名'关联,关联到'文件类型'ftype设置'文件类型'关联,关联到'执行程序和参数','文件类型'再调用txtfile关联的命令行txtfile=%SystemRoot%"system32"%1可以在""文件夹选项""→""文件类型""里修改这2种关联assoc#显示所有'文件扩展名'#'文件类型',=#'文件类型',=.exe#'文件类型',=exefileftype # 显示所有'文件类型'关联ftypeexefile # 显示exefile 类型关联的命令行,结果显示 exefile=""%1""%*= 为word类型的文档,可以看到 .txt = 的正确关联ftypeexefile=""%1""%*恢复exefile 的正确关联如果该关联已经被破坏,可以运行 , 和popd切换当前目录***@echooffc:&cd"&mdmp3#在C:"建立mp3文件夹mdd:"mp4#在D:"建立mp4文件夹cd/dd:"mp4#更改当前目录为d:"mp4pushdc:"mp3#保存当前目录,并切换当前目录为c:"mp3popd#恢复当前目录为刚才保存的d:"映射磁盘substz:"server"dsubstz:/dsubst###这样输入z:就可以访问取消该映射显示目前所有的映时"server"d了

最全批处理命令学习资料【完美版】 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数27
  • 收藏数0 收藏
  • 顶次数0
  • 上传人花双韵芝
  • 文件大小416 KB
  • 时间2024-03-24