BAT脚本入门
- echo:显示命令后的字符
- chcp 65001: 就是换成UTF-8代码页
- echo off: 此语句后的所有运行命令都不显示命令行语句
- @:与echo off相似,但它加在每个命令行前面,只能影响当前行
- call:调用另一个批处理文件
- pause:会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续
- rem:注释行
- 参数%[1-9]:参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串
- if goto
- goto
- CHOICE:
CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]
参数列表:
/C choices 指定要创建的选项列表。默认列表是 "YN"。
/N 在提示符中隐藏选项列表。提示前面的消息得到显示,
选项依旧处于启用状态。
/CS 允许选择分大小写的选项。在默认情况下,这个工具
是不分大小写的。
/T timeout 做出默认选择之前,暂停的秒数。可接受的值是从 0
到 9999。如果指定了 0,就不会有暂停,默认选项
会得到选择。
/D choice 在 nnnn 秒之后指定默认选项。字符必须在用 /C 选
项指定的一组选择中; 同时,必须用 /T 指定 nnnn。
/M text 指定提示之前要显示的消息。如果没有指定,工具只
显示提示。
/? 显示此帮助消息。
注意:
ERRORLEVEL 环境变量被设置为从选择集选择的键索引。列出的第一个选
择返回 1,第二个选择返回 2,等等。如果用户按的键不是有效的选择,
该工具会发出警告响声。如果该工具检测到错误状态,它会返回 255 的
ERRORLEVEL 值。如果用户按 Ctrl+Break 或 Ctrl+C 键,该工具会返回 0
的 ERRORLEVEL 值。在一个批程序中使用 ERRORLEVEL 参数时,将参数降
序排列。
- For
FOR %%variable IN (set) DO command [command-parameters]
%%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters
为特定命令指定参数或命令行开关。
例如一个批处理文件中有一行:
for %%c in (*.bat *.txt) do type %%c
则该命令行会显示当前目录下所有以bat和txt为扩展名的文件的内容。
实例
根据以上知识点,可以写个简单实用的脚本
@echo off
chcp 65001
CHOICE /C 123 /M "1.启动Jenkins;2.清理系统垃圾;3.退出"
if %errorlevel%==1 goto StartJenkins
if %errorlevel%==2 goto clearn
if %errorlevel%==3 goto end
:StartJenkins
d:
cd D:apache-tomcat-9.0.21webappsJenkins
java -jar jenkins.war --ajp13Port=-1 --httpPort=8081
:clearn
echo 清理系统垃圾
call C:UsersBillDesktop清理系统.bat
goto end
:end
echo good bye
PAUSE