Bat批处理的那些事儿

基础

  • cmd
    打开命令行窗口
  • echo,作用是bat执行完毕后,窗口不关闭
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 on,都会被@设置为在执行过程中禁止显示执行命令代码
echo on
@type a.txt	//该命令并不会被显示在cmd.exe中
  • pause
    暂停并提示请按任意键输入…
@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 已从新命令行窗口返回
  • if
    与C++中if、else相同作用
EQU - 等于 
NEQ - 不等于 
LSS - 小于 
LEQ - 小于或等于 
GTR - 大于 
GEQ - 大于或等于
@echo off
if exist a.txt (echo 找到了a.txt文件,其内容为:type a.txt) else (echo 找不到a.txt文件)	//判断a.txt是否存在
if defined a (echo a已经被定义) else echo 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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值