批处理自学文档
来源:互联网 发布:淘宝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
- 批处理自学文档
- 帮助文档生成批处理
- Dos批处理帮助文档
- windows 批处理自学教程 基础篇
- 如何制作BAT批处理文档
- 自学CakePHP 日志文档(一)
- 自学的Oracle数据库文档
- 自学的Oracle数据库文档 1
- MongoDB自学笔记9---4.1 插入文档
- MongoDB自学笔记10---4.2 查询文档
- MongoDB自学笔记11---4.3 删除文档
- MongoDB自学笔记12---4.4 更新文档
- iOS通过 API 文档自学方法
- 教你编写自己的BAT批处理文档
- 批处理如何清除文本文档里面的重复行
- MongoDB自学笔记6---3.1 MongoDB文档、集合、数据库概念
- owncloud在windows环境下的自学文档
- 自学iOS开发推荐的必读文档的阅读顺序
- extJS5.1-----利用sencha cmd建立工程项目
- APIO 2015游玩记
- 关于素数的一些知识以及算法
- HDU_5247(15百度之星B题)
- 面试被鄙视之路——activity和fragment混合使用时的生命周期
- 批处理自学文档
- Java String replace()使用的一个小错误
- POI--HSSFCell类
- Java_枚举、自动拆装箱和泛型
- #LeetCode OJ #11 Container With Most Water
- C#进阶 WPF基础一 XAML控件基础、布局
- Android 签名打包流程
- 安装配置kafka集群
- LightOJ 1336- Sigma Function