[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
其中一个作用是,可以看看在for循环中设置的所有变量情况,你可以在设置变量的此for循环外,加上一句代码观察一下即知:
  1. set $
复制代码

TOP

本帖最后由 qixiaobin0715 于 2024-1-23 11:13 编辑

回复 5# 77七
没听说过数字不能作为变量名事啊:
  1. C:\Users\Administrator>set 1=2
  2. C:\Users\Administrator>set 1
  3. 1=2
  4. C:\Users\Administrator>
复制代码
cmd黑色窗口测试结果。
1是变量名
2是变量1的值
没什么问题吧。
set /?查阅,只是说变量名中不能含有等号。

试了试,使用变量延迟,如果变量名中的等号在双引号中,居然也能作为变量名的字符。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set 1"a=b"p=a
  4. echo,!1"a=b"p!
  5. pause
复制代码
实践是检验真理的唯一标准,这句话真好。
注意不要与%0~%9冲突即可。总之,以数字作为变量名在变量延迟中使用应当不会有什么问题,如果使用 %变量名% 显示变量值,则有可能与%0~%9产生冲突。

TOP

回复 8# 77七
实际上还是显示的问题。
比如set 1a=true
这么显示就没有问题:
set 1a
或者在变量延迟下
echo,!1a!

TOP

返回列表