注册
登录
论坛
搜索
帮助
导航
设置
VIP
私人消息 (0)
公共消息 (0)
论坛任务 (0)
系统消息 (0)
好友消息 (0)
帖子消息 (0)
批处理之家
»
BAT教程&资料
» 批处理中set /a 极大的误区
[新手上路]
批处理新手入门导读
[视频教程]
批处理基础视频教程
[视频教程]
VBS基础视频教程
[批处理精品]
批处理版照片整理器
[批处理精品]
纯批处理备份&还原驱动
[批处理精品]
CMD命令50条不能说的秘密
[在线下载]
第三方命令行工具
[在线帮助]
VBScript / JScript 在线参考
1
2
返回列表
发帖
Fantasys
发短消息
加为好友
Fantasys
当前离线
UID
42536
帖子
18
精华
0
积分
19
PB
19
技术
0
捐助
0
阅读权限
5
在线时间
4 小时
注册时间
2011-10-11
最后登录
2012-1-1
列兵
帖子
18
积分
19
技术
0
捐助
0
注册时间
2011-10-11
16
楼
跳转到
»
发表于 2011-10-12 17:59
|
只看该作者
我觉得官方解释不能说错,只是在批处理有些特别的地方罢了。开启变量延迟就可以了,说明它解释还是对的。
TOP
网上邻居
发短消息
加为好友
网上邻居
当前离线
UID
74882
帖子
19
精华
0
积分
19
PB
19
技术
0
捐助
0
阅读权限
5
在线时间
17 小时
注册时间
2016-3-11
最后登录
2018-3-9
列兵
帖子
19
积分
19
技术
0
捐助
0
注册时间
2016-3-11
17
楼
发表于 2016-3-17 14:41
|
只看该作者
预处理机制而已。
TOP
小程936
发短消息
加为好友
小程936
当前离线
UID
75876
帖子
34
精华
0
积分
83
PB
68
技术
5
捐助
0
阅读权限
10
在线时间
14 小时
注册时间
2016-6-2
最后登录
2024-11-17
上等兵
帖子
34
积分
83
技术
5
捐助
0
注册时间
2016-6-2
18
楼
发表于 2016-6-17 09:38
|
只看该作者
set /a x=a,a=b,b=x
可以交换a和b的位置,你怎么看?
TOP
ai20110304
发短消息
加为好友
ai20110304
当前离线
UID
73207
帖子
112
精华
0
积分
124
PB
124
技术
0
捐助
0
阅读权限
20
在线时间
261 小时
注册时间
2015-10-10
最后登录
2024-11-20
一级士官
帖子
112
积分
124
技术
0
捐助
0
注册时间
2015-10-10
19
楼
发表于 2016-10-20 23:33
|
只看该作者
谢谢 分享
TOP
tiger999
发短消息
加为好友
tiger999
当前离线
UID
72399
帖子
26
精华
0
积分
57
PB
51
技术
2
捐助
0
阅读权限
10
在线时间
15 小时
注册时间
2015-7-18
最后登录
2019-3-31
上等兵
帖子
26
积分
57
技术
2
捐助
0
注册时间
2015-7-18
20
楼
发表于 2017-1-27 15:07
|
只看该作者
QAQ LZ不要误导别人啊,吓得差点误解了我习惯了3年的知识
这是因为变量延迟的问题,这和所谓的%%没有关系
你只需要加一个setlocal enabledelayedexpansion,把%换成!就好了,QAQ
TOP
ShenMian
发短消息
加为好友
ShenMian
当前离线
UID
72784
帖子
24
精华
0
积分
35
PB
35
技术
0
捐助
0
阅读权限
5
在线时间
6 小时
注册时间
2015-8-24
最后登录
2018-2-18
列兵
帖子
24
积分
35
技术
0
捐助
0
注册时间
2015-8-24
21
楼
发表于 2018-2-18 00:31
|
只看该作者
这是延迟变量的问题,而不是什么教程乱讲。若考虑延迟变量应该写为set /a a+=1等价于set /a a=!a!+1,如果没有开启本地自动化操作则是错误的语句。所以set /a a=%a%+=1并没有错误。
TOP
ai20110304
发短消息
加为好友
ai20110304
当前离线
UID
73207
帖子
112
精华
0
积分
124
PB
124
技术
0
捐助
0
阅读权限
20
在线时间
261 小时
注册时间
2015-10-10
最后登录
2024-11-20
一级士官
帖子
112
积分
124
技术
0
捐助
0
注册时间
2015-10-10
22
楼
发表于 2018-8-29 23:29
|
只看该作者
回复
11#
applba
大侠说到点子上了。细心点发现
我就是我,不一样的烟火!
TOP
ai20110304
发短消息
加为好友
ai20110304
当前离线
UID
73207
帖子
112
精华
0
积分
124
PB
124
技术
0
捐助
0
阅读权限
20
在线时间
261 小时
注册时间
2015-10-10
最后登录
2024-11-20
一级士官
帖子
112
积分
124
技术
0
捐助
0
注册时间
2015-10-10
23
楼
发表于 2018-8-29 23:31
|
只看该作者
回复
1#
defanive
这个复合运算符隐含延迟变量的功能。就像java中复合运算符隐式一个强制类型转换
我就是我,不一样的烟火!
TOP
1
2
返回列表
批处理专区: BAT CMD DOS
BAT求助&讨论
BAT教程&资料
BAT原创&转载
BAT新大陆
BAT转载代码
新手练功
出题挑战
有偿求助
第三方命令行
开源原创工具
iBAT
Take Command
其他脚本区
PowerShell求助&讨论
PowerShell教程&资料
PowerShell原创&转载
VBS求助&讨论
JS / JScript / JavaScript
VBS教程&资料
VBS原创&转载
UNIX/Linux Shell
Python
Perl
网络资源区
电脑技术研讨
精品软件交流
论坛事务区
站务交流
意见反馈
论坛公告
版主申请
交换链接
建站杂谈
活动专区
论坛总版规
[收藏此主题]
[关注此主题的新回复]
[通过 QQ、MSN 分享给朋友]
设置
关闭
开启 【页面动态效果 + 卡片式布局】
关闭 【页面动态效果 + 卡片式布局】
开启 【代码高亮】
关闭 【代码高亮】
代码高亮主题 【亮】
代码高亮主题 【暗】