首页 > 其他分享 >bat脚本

bat脚本

时间:2023-06-29 21:22:23浏览次数:30  
标签:脚本 bat set 变量 var2 defined echo

推荐使用 powercmd 替代原cmd

常见的基本命令

  • @echo off:关闭之后所有命令的回显,不然bat文件中的每条指令会在cmd命令窗口显示。
  • rem:注释,还有::也表示注释
  • echo: 输出
  • echo=:输出空白行
  • call,调用另外一个bat脚本

变量

变量声明

变量无须声明就可以引用,默认为全局变量,默认值为空字符串,并且大小写不敏感。

可通过defined关键字或者是否为空字符串判断变量是否为空,如下所示:

@echo off
if not defined var2 (
	echo var2 is not defined
) else (
	echo var2 is defined
)

变量赋值

变量赋值等号前后不能有空格。

/a是表达式运算。/p是提示输入,并将输入的值赋给变量。set a= 可以清空变量。如下所示:

@echo off
set var2=5
rem 表达式运算
set /a var2=2+7
rem 提示输入,将输入值赋值给变量
set /p var2=please input a number
rem 清空变量
set var2=
if not defined var2 (
	echo var2 is not defined,the value is:%var2%
) else (
	echo var2 is defined,the value is:%var2%
)

变量读取

通过%var%读取变量。

set:列出所有变量,包括系统环境变量PATH,TEMP等。

!var!:延迟读取变量值。

变量作用域

变量默认为全局变量(Global)。

可使用setlical命令将变量作用域设置为local。直到endlocal或exit命令,或者bat文件执行结束,变量作用域结束并恢复到Global作用域。例如:

  1. bat文件声明一个local变量
@echo off
setlocal
set v=Local Variable
echo v=%v%
  1. 在cmd命令声明一个全局变量,然后执行上面的bat文件
C:\Users\zzx\Desktop\bat>set v=Global Variable

C:\Users\zzx\Desktop\bat>var
v=Local Variable

C:\Users\zzx\Desktop\bat>echo v=%v%
v=Global Variable

cnd声明的全局变量在执行bat文件时改成了local变量,当bat文件执行完,有恢复成全局变量。

变量延迟

特殊变量

目录操作

  • dir:显示目录中的文件与子目录列表
  • mk,mkdir:创建目录
  • rd,rmdir:删除目录
  • pushd,popd:切换当前目录。pushd将目录存储到虚拟栈中,并切换到这个目录。pushd %~dp0,设置当前目录为脚本所在目录。popd命令将当前目录改成栈中最新的目录。

标签:脚本,bat,set,变量,var2,defined,echo
From: https://www.cnblogs.com/1963942081zzx/p/17515237.html

相关文章

  • shell 脚本两个实例
    两个shell脚本的实例拷贝文件脚本将一个文件从一个文件夹指定的拷贝到另外一个文件夹#!/bin/bashbroad_file="/home/user/Zeekr/sa8295p-hqx-4-2-4-0_hlos_dev_la/lagvm/LINUX/android/out/target/product/zeekr_dhu/vendor/bin/hw/[email protected]......
  • Mybatis如何读取配置文件
    一、Mybatis读取配置文件过程首先,Mybatis会读取配置文件mybatis-config.xml。这个配置文件包含了MyBatis的全局配置信息,例如数据库连接信息、类型处理器、映射器等。Mybatis解析mybatis-config.xml文件,获取配置信息。它使用XML解析器来解析配置文件,将配置信息转换为内部的数据......
  • JSP-脚本-案例
     <%@pageimport="com.itheima.pojo.Brand"%><%@pageimport="java.util.ArrayList"%><%@pageimport="java.util.List"%><%--CreatedbyIntelliJIDEA.User:adminDate:2023/6/29Time:15:31......
  • springboot整合mybatis
    1,在application.yml中配置点击查看代码#mybatis#配置mapper路径mybatis:mapper-locations:classpath:mapper/*.xml2,在每个DAO接口上面追加@Mapper注解-------------------------------------------------------------增删改查的实现代码application.yml配......
  • Mybatis中查询出来的部分数据为空,能查出行部分字段为空
    同样的sql语句,在数据库中能查出完整的行数据在mybatis中返回数据中能查出行,但是部分有值的字段为空。首先检查缓存,没问题的话大概率是因为mybatis自动映射的关系:1.列名不匹配:自动映射会根据数据库中的列名和对象属性名进行映射,如果列名和属性名不匹配,就会导致数据为空。确保数......
  • 自定义 make 脚本扩展 artisan make 命令
    有时候,我们想自定义生成php类文件,于是自己写了一个,能兼容去调用artisanmake命令。文件名就叫make 放在与artisan相同目录下,命令:phpmake--help代码如下:#!/usr/bin/envphp<?phpif($argv[1]=='--help'||empty($argv[1])){echo'phpmake<type><filenam......
  • 【TG脚本】Telegram获取群成员、群聊天记录、用户所加的群的信息+教程
    该脚本,可以获取群成员、群聊天记录、用户所加的群的信息可以实现单/多用户,轮回加群。实现网络断点续传(网络出现故障,恢复之后继续下载)根据聊天日期进行内容获取都用户时,可以实现指定用户获取指定群组【依赖安装:】https://docs.telethon.dev/en/latest/basic/installation.html【主......
  • mybatis 动态数据源核心--AbstractRoutingDataSource
    1publicabstractclassAbstractRoutingDataSourceextendsAbstractDataSourceimplementsInitializingBean{2@Nullable3privateMap<Object,Object>targetDataSources;4@Nullable5privateObjectdefaultTargetDataSource;......
  • django离线脚本的使用(就是需要借助django的功能,然后写一些脚本)
    在django中,我们可以创建一些离线脚本,它的意思是我们并没有启动django服务,而只是运行了django的一些配置以便我们在脚本里完成一些,需要django环境支持的脚本操作下面是详细用法:#启动djangoimportosimportsysimportdjango#首先,一定要把当前项目的路径加到python模块搜......
  • 自用gulp打包脚本,压缩html,压缩js,压缩css,压缩图片,功能齐全
    constgulp=require('gulp');constfs=require('fs');consthtmlmin=require('gulp-htmlmin');constuglify=require('gulp-uglify');constuglifyEs=require('uglify-es');constminifyCSS=require(......