首页 > 其他分享 >cmd与bat批处理脚本入门

cmd与bat批处理脚本入门

时间:2023-11-27 20:23:03浏览次数:32  
标签:语句 bat set 变量 批处理 cmd echo myvar

字符串替换

@echo off
set a1=你是good好孩子
::去掉good
set res=%a1:good=%
echo %res%
::把变量a1中的"你"替换为"她们"
set res=%a1:你=她们%
echo %res%
pause

字符串截取

@echo off
set myvar=abcdefg
echo Original: %myvar%
echo 索引1开始,长度3: 	%myvar:~1,3%
echo 索引2开始,到结尾: 	%myvar:~2%
echo 索引0开始,到倒数第3个: %myvar:~0,-2%
pause

延迟变量扩展

执行cmd或者bat文件是从头向后执行,变量有一个扩展规则,即在执行一个语句块时,CMD在读入这个语句块的时候,该语句块中的变量将会被该语句块之前的同名的变量的值代替。

可以理解为当前语句块中所有的set都在下一句语句块执行时才有效,在当前语句块不做任何事情这样将会对程序的逻辑性产生很大的影响。

为了解决这个问题,cmd提供了一种方式:setlocal [Enable|Disable]DelayedExpansion。
启用后变量的调用将会变为!变量名!,如果使用%变量名%,调用的将会是未使用扩展延迟的状态的变量。

@echo off
setlocal enabledelayedexpansion
set myvar=original
if "%myvar%"=="original" (
    set myvar=modified
    echo Inside parentheses: !myvar!
)

echo Outside parentheses: %myvar%
endlocal
pause

标签:语句,bat,set,变量,批处理,cmd,echo,myvar
From: https://www.cnblogs.com/yuyanc/p/17860352.html

相关文章

  • [转]bat if语句中 set /p 接收不到用户输入 变量值空
    原文连接https://zhidao.baidu.com/question/496503004.html一、问题以下为bat代码,我健入1,进入if,我故意在if中用了goto循环用来验证是否接收到我输入的内容,我发现,第一次循环接收不到我输入的内容,从第二次循环开始就能够接收到了,请高手帮我修改下,我需要一进入if,用set/p就能够......
  • mybatis---CURD
    查询记录<selectid="getUserList"resultType="org.example.pojo.User">select*fromuser.use1</select><selectid="getUserByid"resultType="org.example.pojo.User"parameterType="i......
  • bat文件关闭打开的图片时弹出提示框
    @echooff&cd\&color0a&clsechosetwindowsdefaultpictureviewregadd"HKLM\SOFTWARE\Microsoft\WindowsPhotoViewer\Capabilities\FileAssociations"/v".jpg"/tREG_SZ/dPhotoViewer.FileAssoc.Tiff/fregadd&qu......
  • MyBatis `<include refid="XXX">`标签详解
    MyBatis<includerefid="XXX">标签详解MyBatis作为一种优秀的持久化框架,提供了丰富的XML配置选项,其中<include>标签是一个非常有用的特性,用于引入SQL片段,提高代码的可维护性和可读性。解释<include>标签用于引用SQL代码片段。refid是引用的SQL片段的id名称,必须保持唯一。......
  • bat批量复制文件(一键打包更新代码,避免手动一个个复制)
    如果文件夹不存在,也可以复制过去。复制文件夹用copy,复制目录和里面的文件用xcopy命令:xcopy  /y/e/s/i/k 源文件夹路径目标文件夹路径 @echooffChcp65001echo-----copystart-----echo-----copycssxcopy/y/e/s/i/kD:\crd\cms\workspace\cms\web\styles......
  • MyBatis 大于等于小于等于常用写法
    前言经常在工作中使用mybatis范围筛选的时候忘记大于等于小于怎么写,这里做记录分享给有需要的人。不喜别喷方法一:使用转义字符含义原符号转义字符小于<<小于等于<=<=大于>>大于等于>=>=逻辑与(和)&&amp;单引号‘&apos;双引号“"使用示......
  • Linux_sqlcmd或者是Cloudquery连接SQLSERVER2012的问题解决
    Linux_sqlcmd或者是Cloudquery连接SQLSERVER2012的问题解决背景最近想使用shell脚本给SQLServer数据库插入数据,但是发现了报错同时进行CLoudquery连接SQLServer数据库时也出现了异常.作为笔记记录一下问题和解决方法sqlcmd的问题现象sqlcmd的提示信息第一:安装sudo......
  • 全拼双拼切换 bat 脚本
    @echooffsetMainkey=HKEY_CURRENT_USER\SOFTWARE\Microsoft\InputMethod\Settings\CHSfor/f%%iin('regquery%MainKey%/v"EnableDoublePinyin"^|findstr/i"0x1"')do(setflg=%%i)ifnotdefinedflg(regadd......
  • 若依集成mybatisplus实现mybatis增强
    ......
  • 一文讲明Mybatis 的使用 超详细 【爆肝两万字教程】
    >我|在这里>......