echo on //允许在执行过程中显示执行命令代码
echo off //禁止在执行过程中显示执行命令代码
type a.txt //显示已有文件a.txt中的内容
echo m < a.txt //将m的内容写入a.txt中,<表示清空另写入
echo m << a.txt //将m的内容写入a.txt中,<表示追加再写入
echo. //表示换行
@echo off //批处理中,默认以该格式开头
@echo off
echo pause //pause命令测试
pause //此处将会提示按任意键输入
type a.txt
rem 表示注释,相当于C++中的//,python中的#,该命令不会被cmd.exe显示
@echo off
rem 这是一个简单的批处理文件
type a.txt
中文
chcp 65001 //此命令可以让bat显示中文,最好写在前面
call命令 调用.bat文件、程序跳转
set 设置变量,set设置的变量在调用时要在其前后分别加上% set /p的作用是在用户输入前加一段说明性的描述,即想让用户输入什么内容之类的说明 set /a expression 即可以用各种表达式为变量赋值 set des=%src:str1=str2%即把源变量src的值中所有的str1字符串替换成str2字符串,从而组合形成目标变量des的值 set des=%src:~m,n%即把源变量src的值字符串从第m个索引位开始取n位组成目标变量des的值 set des=%src:~m% 即把源变量src的值字符串从第m个索引位开始,取后面所有组成目标变量des的值 set des=%sec:~-m% 即把源变量src的值字符串从尾部开始取m个字符组成目标变量des的值 set des=%src:~m,-n%即把源变量src的值字符串从m索引位开始,至尾部数第n个索引位为止取出组成目标变量des的值
@echo off
set x=1
echo %x%
set //显示系统的所有环节变量
::set //不显示系统的所有环节变量
set a // 显示所有以a或A开头的环境变量
set a=5 //设置a的值为5
set /a a=1+2
goto 跳转到指定位置后执行命令,goto的标签名最多8位,超出8位的标签则只读前8位
@echo off
echo 跳过中间的命令,执行最后一条命令
goto last
type a.txt
:last
dir a.txt
start 在新窗口中运行命令
@echo off
echo 将在新窗口中显示a.txt文件的内容
start "a.txt文件"echo 已从新命令行窗口返回
@echo off
if exist a.txt (echo 找到了a.txt文件,其内容为:type a.txt)else(echo 找不到a.txt文件) //判断a.txt是否存在
if defined a (echo a已经被定义)elseecho a没有被定义 //判断a是否被定义
if ERRORLEVEL 1 echo 命令执行失败
if ERRORLEVEL 0 echo 命令成功执行 //用来判断命令是否执行成功
for 与C++中for循环相同作用
注:/a是将string变成可求值的数值表达式
@echo off
set /a sum=0
for %%x in(*.txt)do(echo %%x文件的内容如下:
type %%x
echo.
set /a sum+=1
)echo 一共显示了%sum%个文本文件
%0
@echo off
rem 1.获取批处理自身的完整路径
echo %0
rem 2.获取批处理自身的完整路径,并去掉首尾的引号
echo %~0
rem 3.获取批处理自身的文件名和后缀名
echo %~nx0
rem 4.获取批处理自身的文件名
echo %~n0
rem 5.获取批处理自身的后缀名
echo %~x0
rem 6.获取批处理自身的完整路径,不含文件名
echo %~dp0
rem 7.获取批处理自身的盘符
echo %~d0
rem 8.获取批处理自身的大小
echo %~z0
rem 9.获取批处理自身的修改时间
echo %~t0
pause