批处理自学文档

来源:互联网 发布:淘宝iuv 编辑:程序博客网 时间:2024/04/28 05:20

Note:请尊重版权,转载请注明出处!谢谢~

@echo off
@ title **_** BAT-Learning **_**
@ color 79

rem This is an self-learning tool for BAT pracessing in windows OS
rem  Let's start it! Enjoy

echo ************************ Introduction ************************
echo.
echo 1.批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD;
echo 2.可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程。
echo.  
echo ***************************************************************

rem *********** We'll start from here **********************
rem
echo  Here are some options for helping you go into your learning journey!
:start
echo.
echo          A: Common commands
echo          B: Parameters
echo          C: Special commands
echo          D: Examples
echo          P: Practice
echo          E: Exit
echo.

choice /c:ABCDPE /m "Please choice A,B,C,D,P or E:
if errorlevel 6 goto E
if errorlevel 5 goto P
if errorlevel 4 goto D
if errorlevel 3 goto C
if errorlevel 2 goto B
if errorlevel 1 goto A

:A
echo ***********Common commands****************
echo 1.echo: 表示显示此命令后的字符;若要输出空行,可用ECHO.
echo.
echo 2.@: @与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行
echo.
echo 3.echo off: 表示在此语句后所有运行的命令都不显示命令行本身  
echo.
echo 4.call: 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。
echo.
echo 5.pause: 运行此句会暂停批处理的执行并在屏幕上显示Press any key to contin
echo.
echo 6.REM: 注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显
echo   :: 也可以起到rem 的注释作用,但需要注意的是::后的字符行在执行时不会回显
echo.
echo 7.建立新文件或增加文件内容:ECHO 文件内容>文件名,
echo                             ECHO 文件内容>>文件名
echo For example:
echo ECHO @ECHO OFF>AUTOEXEC.BAT建立自动批处理文件
echo ECHO C:\CPAV\BOOTSAFE>>AUTOEXEC.BAT向自动批处理文件中追加内容
echo.
echo 8.title: 设置cmd窗口的标题(eg. title This is my window.)
echo ***************End*****************
echo.
echo 9.command /?   帮助命令,命令 /?,DOS可列出命令选项
echo.
echo 10. md d:\mp3 在D盘下建立MP3文件夹
echo     dir c:\ 显示C盘下的文件内容
echo     
pause

call :choose

:B
echo Hello. Here is Parameters!
echo Nothing special here. Please check them in Internet, because the writor of this file is too stupid!
echo I'm so sorry for this!
pause
goto start

:C
echo ***********Special commands****************
echo 1.if: 条件语句,用来判断是否符合规定的条件,从而决定执行不同的命令.有三种格式:
echo 1) if [not] "参数" == "字符串" 待执行的命令
echo 2) if [not] exist [路径\]文件名 待执行的命令
echo Eg. if exist filename (del filename) else (echo filename missing)
echo 上面的command命令都可以用小括号来使用多条命令的组合,包括else子句,组合命令中     可以嵌套使用条件或循环命令。
echo.
echo 3) if errorlevel <数字> 待执行的命令
pause
echo 2.goto 批处理文件运行到这里将跳到goto所指定的标号(标号即label,标号用:后跟标准字符串来定义)
echo Eg. goto end
echo     :end
echo     echo this is the end
pause
echo 3.choice 使用此命令可以让用户输入一个字符(用于选择),从而根据用户的选择返回不同的errorlevel,
       然后于if errorlevel配合,根据用户的选择运行不同的命令。
echo choice的命令语法: CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]
echo Eg: echo choice /C YNC /M "确认请按 Y,否请按 N,或者取消请按 C。"
pause
echo 4.for 循环命令,只要条件符合,它将多次执行同一命令
echo 命令语法:FOR %%variable IN (set) DO command [command-parameters]
echo Example: for %%c in (*.bat *.txt) do type %%c
echo          该命令行会显示当前目录下所有以bat和txt为扩展名的文件的内容。
pause
echo 5.CALL: CALL命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后,再继续执行原来的批处理也可以调用子程序。
echo CALL [drive:][path]filename [batch-parameters]
echo 调用的其它批处理程序。filename 参数必须具有 .bat 或 .cmd 扩展名;
echo CALL调用子程序。被调用的命令段以标签:label开头,以命令goto :eof结尾。
pause

echo 注意以下内容中的转义字符^是为了防止“&”或者“&&”被当做指令执行
echo 6.^& 组合命令,同时执行多条命令
echo 语法:第一条命令 ^& 第二条命令 [^& 第三条命令...]
echo Eg.dir z:\ ^& dir y:\ ^& dir c:\
echo.以上命令会连续显示z,y,c盘的内容,不理会该盘是否存在
echo.
echo ^&& 组合命令,语法同^&,不同点是当碰到执行出错的命令后将不执行后面的命令

pause

call :choose

:D
echo Grammer. You need to do much more execerse!
echo Eg1.从键盘获得输入
echo      @ echo off
echo      :start
echo      @set /p choice=      请选择菜单命令1或2:
echo      if /i %choice%==1 goto a
echo      if /i %choice%==2 goto b
echo      :a
echo      echo Hi
echo      goto start
echo      :b
echo      echo Hello
echo      goto start
echo.
pause
echo Eg2. 选项输入
echo      @ echo off
echo      choice /c:abc /m Please choose a,b or c
echo      if errorlevel 3 goto 3
echo      if errorlevel 2 goto 2
echo      if errorlevel 1 goto 1
echo      :1
echo      echo option 1
echo      goto e
echo      :2
echo      echo option 2
echo      goto e
echo      :3
echo      echo option 3
echo      goto e
echo      :e
echo      pause
echo      exit
echo.
pause
echo Eg3. 调用子程序
echo      @echo off
echo      echo 生成一个临时文件夹 > tem.txt
echo      echo 查看当前目录有无生成临时文件夹
echo      pause
echo      Call :sub
echo      :sub
echo      del tem.txt
echo      goto :eof
echo      exit
echo.
pause

goto start

:P
echo @ echo off > test.bat
echo 请输入练习命令,系统会自动加载到生成的test.bat内,如要修改文件名,请手动修改。
echo 请不要输入空行,输入over结束!

:begin
set /p input=
:: if /i not "%input%"=="over"
if /i "%input%"=="over" goto over
goto inp
:inp
echo %input% >> test.bat
goto begin

:E
echo Thanks for using! Byebye~
pause
exit

:error
echo Input error, try again
goto name

:choose
choice /c:CPE /m "C-Continue P-Practice E-Exit"
if errorlevel 3 goto E
if errorlevel 2 goto P
if errorlevel 1 goto start
goto :eof

:over
echo Are you sure to over them?
choice /c YN /m "Y-Yes  N-No"
if errorlevel 2 goto input
if errorlevel 1 goto mybat

:mybat
echo 在当前路径下找到生成的text.bat文件,点击即可运行,如需修改请鼠标右键选择“编辑”进行修改
pause
call :choose

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 买了运费险退货怎么办 卖家运费险退货怎么办 京东生鲜有坏的怎么办 与上级意见不一致时你将怎么办 物金所倒闭投资怎么办 电商平台欺骗客户怎么办 pdf电脑打开是乱码怎么办 excel表格打开是乱码怎么办 win10安装软件出现乱码怎么办 华为手机速度越来越慢怎么办 oppo手机速度越来越慢怎么办 安卓手机速度越来越慢怎么办 青桔单车忘了锁怎么办 华为手机反应太慢了怎么办 魅族关机键失灵怎么办 oppa79手机开不开机怎么办 黑衣服洗完发白怎么办 白衣服被黑衣服染色了怎么办 评职称单位领导不推荐怎么办 支付宝被限制收款怎么办 在淘宝上下单想写两个地址怎么办 注销了的支付宝怎么办 狗狗黑色毛发红怎么办 蘑菇街直播间被禁言了怎么办 收了发票不付款怎么办 退款要先收发票怎么办 淘宝退款了又收到货怎么办 商家收货后拒绝退款怎么办 申请退货退款卖家不处理怎么办 淘宝买东西换货卖家不发货怎么办 淘宝自动默认付款没发货怎么办 支付宝支付失败可钱扣了怎么办 苹果nfc感应坏了怎么办 老鼠添过的盘子怎么办 ie浏览器页面显示网页错误怎么办 Ⅵvo手机声音小怎么办 小米手机预约错了怎么办 小米note二手没解锁怎么办 艾灸后脸色越黑怎么办 淘宝软件类目不能上架宝贝怎么办 ae中没有mpg格式怎么办