有55人阅读过
bat代码 语法
发布于2021/12/04 更新于2022/11/16
[ 教程仅保证更新时有效,请自行测试。]
[ 教程仅保证更新时有效,请自行测试。]
开头@echo off
标题 TITLE xxxx
窗口大小 mode con cols=宽(纯数字,多少行) lines=30(纯数字,多少列)
暂停页面直接pause
输出内容echo
设置字段set a=xxxx
合并字段 set c=%a%%b%, 可以无限合并下去,可以重复引用
计算并赋予字段(c) set a/ c=%a%+%b%
空行echo.
打开文件或网址 start
唤醒另一个cmd,call
相互唤醒,尾部相互call
代码片段 :part
执行片段 goto part
退出cmd endd
采集输入内容,并赋予字段(a) set /p a="提示语"
获取当前日期 %date% 结果为 2022/11/16 周三
获取当前时间 %time% 结果为 16:49:42.46
截取字符 %字段:~起始位置,字符数%
set abc=hello world, this string come from bat
echo 原字符串为:%abc%
echo 截取前5个字符:%abc:~0,5%
echo 截取最后5个字符:%abc:~-5%
echo 截取第一个到倒数第6个字符:%abc:~1,-5%
echo 从第4个字符开始截取5个字符:%abc:~3,5%
echo 从倒数第14个字符开始截取5个字符:%abc:~-14,5%
提取年月日信息
echo %date:~0,10%
提取星期几信息
echo %date:~-3%
提取时间中的时和分
echo %time:~0,5%
提取时和分和秒信息
echo %time:~0,-3%
年
echo %Date:~0,4%
月
echo %Date:~5,2%
日
echo %Date:~8,2%
时
echo %Time:~0,2%
分
echo %Time:~3,2%
秒
echo %Time:~6,2%
注:上述取小时的代码存在问题, 如果时间小于10点, 上述得到的小时为" 9"而不是"09", 如果使用小时的代码未对空格做特殊处理, 容易导致问题,用一下代码做判断处理
set time0=%time: =0%
set hour=%time0:~0,2%
或者
set hour=%time:~0,2%
if %hour% LSS 10 (
set hour=0%time:~1,2%
)
其实前者就是先把time中的空格换成0, 然后再取小时数据; 后者就是先取时间, 然后通过比较时间, 判断需不需要在前面补0;
替换字符串 %原字段:需要替换的内容=替换内容% 例如
set a=112233
set b=%a:22:55% 把22换成55
高级应用
菜单
:menu
cls
echo 选项1
echo 选项2
echo 选项3
:cho
set chose=
set /p choice= 请选择:
IF NOT "%choice%"=="" SET choice=%choice:~0,1%
if /i "%choice%"=="1" goto (代码片段part1)
if /i "%choice%"=="2" goto (代码片段part2)
if /i "%choice%"=="3" goto (代码片段part3)
echo 选择无效,请重新输入
echo.
goto cho
- 一般[0]
- 很赞[0]
- 没用[0]
- 垃圾[0]
- 无语[0]