位置: 编程技术 - 正文

DOS下如何声明变量(定义变量)(dos命令怎么写)

编辑:rootadmin

dos定义变量 DOS下也只有环境变量可以用 SET [variable=[string]] variable 指定环境变量名。 string 指定要指派给变量的一系列字符串。 要显示当前环境变量,键入不带参数的 SET。 如果命令扩展被启用,SET 会如下改变: 可仅用一个变量激活 SET 命令,等号或值不显示所有前缀匹配 SET 命令已使用的名称的所有变量的值。例如: SET P 会显示所有以字母 P 打头的变量 如果在当前环境中找不到该变量名称,SET 命令将把 ERRORLEVEL 设置成 1。 SET 命令不允许变量名含有等号。 在 SET 命令中添加了两个新命令行开关: SET /A expression SET /P variable=[promptString] /A 命令行开关指定等号右边的字符串为被评估的数字表达式。该表达式 评估器很简单并以递减的优先权顺序支持下列操作: () - 分组 ! ~ - - 一元运算符 * / % - 算数运算符 + - - 算数运算符 << >> - 逻辑移位 & - 按位“与” ^ - 按位“异” | - 按位“或” = *= /= %= += -= - 赋值 &= ^= |= <<= >>= , - 表达式分隔符 如果您使用任何逻辑或取余操作符, 您需要将表达式字符串用 引号扩起来。在表达式中的任何非数字字符串键作为环境变量 名称,这些环境变量名称的值已在使用前转换成数字。如果指定 名称,这些环境变量名称的值已在使用前转换成数字。如果指定 了一个环境变量名称,但未在当前环境中定义,那么值将被定为 零。这使您可以使用环境变量值做计算而不用键入那些 % 符号 来得到它们的值。如果 SET /A 在命令脚本外的命令行执行的, 那么它显示该表达式的最后值。该分配的操作符在分配的操作符 左边需要一个环境变量名称。除十六进制有 0x 前缀,八进制 有 0 前缀的,数字值为十进位数字。因此,0x 与 和 相同。请注意八进制公式可能很容易搞混: 和 是无效的数字, 因为 8 和 9 不是有效的八进制位数。 /P 命令行开关允许将变量数值设成用户输入的一行输入。读取输入 行之前,显示指定的 promptString。promptString 可以是空的。 环境变量替换已如下增强: %PATH:str1=str2% 会扩展 PATH 环境变量,用 "str2" 代替扩展结果中的每个 "str1"。 要有效地从扩展结果中删除所有的 "str1","str2" 可以是空的。 "str1" 可以以星号打头;在这种情况下,"str1" 会从扩展结果的 开始到 str1 剩余部分第一次出现的地方,都一直保持相配。 也可以为扩展名指定子字符串。 %PATH:~,5% 会扩展 PATH 环境变量,然后只使用在扩展结果中从第 个(偏 移量 )字符开始的五个字符。如果没有指定长度,则采用默认 值,即变量数值的余数。如果两个数字(偏移量和长度)都是负数, 使用的数字则是环境变量数值长度加上指定的偏移量或长度。 %PATH:~-% 会提取 PATH 变量的最后十个字符。 %PATH:~0,-2% 会提取 PATH 变量的所有字符,除了最后两个。 终于添加了延迟环境变量扩充的支持。该支持总是按默认值被 停用,但也可以通过 CMD.EXE 的 /V 命令行开关而被启用/停用。 请参阅 CMD /? 考虑到读取一行文本时所遇到的目前扩充的限制时,延迟环境 变量扩充是很有用的,而不是执行的时候。以下例子说明直接 变量扩充的问题:

不会显示消息,因为在读到第一个 IF 语句时,BOTH IF 语句中 的 %VAR% 会被代替;原因是: 它包含 IF 的文体,IF 是一个 复合语句。所以,复合语句中的 IF 实际上是在比较 "before" 和 "after",这两者永远不会相等。同样,以下这个例子也不会达到 预期效果:

原因是,它不会在目前的目录中建立一个文件列表,而只是将 LIST 变量设成找到的最后一个文件。这也是因为 %LIST% 在 FOR 语句被读取时,只被扩充了一次;而且,那时的 LIST 变量 是空的。因此,我们真正执行的 FOR 循环是: for %i in (*) do set LIST= %i 这个循环继续将 LIST 设成找到的最后一个文件。 延迟环境变量扩充允许您使用一个不同的字符(惊叹号)在执行 时间扩充环境变量。如果延迟的变量扩充被启用,可以将上面 例子写成以下所示,以达到预期效果: set VAR=before if "%VAR%" == "before" ( set VAR=after if "!VAR!" == "after" @echo If you see this, it worked ) set LIST= for %i in (*) do set LIST=!LIST! %i echo %LIST% 如果命令扩展被启用,有几个动态环境变量可以被扩展,但 不会出现在 SET 显示的变量列表中。每次变量数值被扩展时, 这些变量数值都会被动态计算。如果用户用这些名称中任何 一个定义变量,那个定义会替代下面描述的动态定义: %CD% - 扩展到当前目录字符串。 set LIST= for %i in (*) do set LIST=!LIST! %i echo %LIST% 如果命令扩展被启用,有几个动态环境变量可以被扩展,但 不会出现在 SET 显示的变量列表中。每次变量数值被扩展时, 这些变量数值都会被动态计算。如果用户用这些名称中任何 一个定义变量,那个定义会替代下面描述的动态定义: %CD% - 扩展到当前目录字符串。 %DATE% - 用跟 DATE 命令同样的格式扩展到当前日期。 %TIME% - 用跟 TIME 命令同样的格式扩展到当前时间。 %RANDOM% - 扩展到 0 和 之间的任意十进制数字。 %ERRORLEVEL% - 扩展到当前 ERRORLEVEL 数值。 %CMDEXTVERSION% - 扩展到当前命令处理器扩展版本号。 %CMDCMDLINE% - 扩展到调用命令处理器的原始命令行。附一个判断示例代码:

推荐整理分享DOS下如何声明变量(定义变量)(dos命令怎么写),希望有所帮助,仅作参考,欢迎阅读内容。

DOS下如何声明变量(定义变量)(dos命令怎么写)

文章相关热门搜索词:dos命令改变颜色,dos文件改名命令,dos命令生成文件,dos变量用法,dos变量用法,dos变量用法,dos变量用法,写出dos命令的一般格式,内容如对您有帮助,希望把文章链接给更多的朋友!

dos变量定义和引用方法 变量定义和引用1.MS-DOSshell对变量、命令、命令行参数的大小写区分吗?不区分2.如何定义一个(环境)变量?SETvariable=[value]如果value是空字符串,则取

bat得到文件大小的代码 今天想复制一些文件,需要先判断文件的大小,小的肯定是有问题的不需要复制,经过大量测试终于找到了比较好的方法,需要的朋友可以参考下先来

DOS中的pause命令简介 在DOS命令中有一个命令是pause,它的作用是输出提示信息"Pressanykeytocontinue...,然后用户随意敲一个键后程序继续运行。pause它会提示请按任意键继续...

标签: dos命令怎么写

本文链接地址:https://www.jiuchutong.com/biancheng/375115.html 转载请保留说明!

上一篇:dos批处理文件中的变量小结(dos命令批处理文件)

下一篇:dos变量定义和引用方法(dos判断变量是否为空)

  • 放弃退税理由是什么
  • 仓储服务费税率2021
  • 纳税申报流程视频教程
  • 清算组的性质
  • 劳保用品销售
  • 合同取得成本如何结转
  • 黄金销售免税
  • 餐饮业可以开增值税专用发票吗?
  • 增值税纳税处理
  • 建总账的注意事项
  • 不动产在建工程使用的外购物资可以抵扣吗
  • 以股东投资为基础
  • 设备发票怎么抵扣
  • 去年多计提了费用今年怎么办
  • 从政府取得土地没有进项
  • 因增资扩股导致股价下跌
  • 食堂收取单位餐费需要开发票吗?
  • 小微企业免税销售额怎么算
  • 增值税电子发票有限额吗
  • 企业法人不发工资合法吗
  • 代收水电费的会计分录
  • 个税计算方法举例讲解
  • 资产处置损失减少的原因
  • 季度收入超过30万但开票只有10万
  • 小型微利企业的
  • 免税农产品进项抵扣计算
  • Laravel 5.5中为响应请求提供的可响应接口详解
  • 房东压我押金怎么办
  • macos big sur最新版本
  • 发票开了对方未付款
  • 票据承兑与票据贴现的区别
  • 应付账款周转天数越大说明什么
  • sesvc.exe是什么进程
  • 出差补贴怎么记账
  • vue使用技巧
  • axios入门
  • 小程序开发定制
  • dvwa靶场搭建sql注入
  • 如何简单去除
  • 金融企业往来支出属于费用吗
  • 支付中间人佣金违法吗
  • vue style import
  • mongodb morphia
  • 哪些固定资产是按8年折旧的
  • PostgreSQL中调用存储过程并返回数据集实例
  • 小企业会计准则适用于哪些企业
  • 什么是明细分类帐
  • 清算所得税计税基础
  • 预缴的增值税及附加税怎么做账
  • 土地转移是什么意思
  • 软件公司购进软件会计科目
  • 免税 企业
  • 会计月末都需要做什么
  • 固定资产应计入什么账户
  • 伤病假条
  • win10的java环境该怎么配置?java环境变量配置介绍
  • 手工设置源泉设计
  • 计算机 win10 桌面
  • Win10系统照片应该打不开
  • 在mac中该如何共享文件夹
  • regsrv.exe - regsrv是什么进程 有什么用
  • 提示explorer.exe
  • centos 7 dns
  • windows8_os
  • outpost.exe - outpost是什么进程 有什么用
  • linux shell !
  • win8开始菜单变为win10
  • 错误化
  • jquery实现
  • Cocos2dx3.2 CrazyTetris 单线裁剪 对于判断消除的思考(一)
  • 批处理的应用
  • 如何获取硬盘所有文件的列表
  • 编写批处理运行程序
  • css要学到什么程度
  • unity如何动态刷新滚动列表
  • android gradle task dependence
  • cocos引擎教程
  • 天津2020年契税征收标准
  • 公司完税证明去哪里开具
  • 非中山户籍学生可以自己买医保吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设