注册
登录
论坛
搜索
帮助
导航
私人消息 (0)
公共消息 (0)
论坛任务 (0)
系统消息 (0)
好友消息 (0)
帖子消息 (0)
批处理之家
»
BAT求助&讨论
» cmd /v:on命令怎样开启变量延迟?
[新手上路]
批处理新手入门导读
[视频教程]
批处理基础视频教程
[视频教程]
VBS基础视频教程
[批处理精品]
批处理版照片整理器
[批处理精品]
纯批处理备份&还原驱动
[批处理精品]
CMD命令50条不能说的秘密
[在线下载]
第三方命令行工具
[在线帮助]
VBScript / JScript 在线参考
返回列表
发帖
stu_p
发短消息
加为好友
stu_p
当前离线
UID
35891
帖子
18
精华
0
积分
33
PB
33
技术
0
捐助
0
阅读权限
5
在线时间
5 小时
注册时间
2011-4-1
最后登录
2011-11-19
列兵
帖子
18
积分
33
技术
0
捐助
0
注册时间
2011-4-1
1
楼
跳转到
»
倒序看帖
打印
字体大小:
t
T
发表于 2011-11-19 17:16
|
只看该作者
cmd /v:on命令怎样开启变量延迟?
set b=1
cmd /v:on /k echo !b!
echo !b!
pause
echo !b!
pause
复制代码
执行完第一个echo !b!后
pause
echo !b!
pause
这3句就没执行!!
我的意思是如何在后面其他语句继续引用变量!b!
最好是哪位老师讲一下cmd /v
n /v:off /c /k /s /q...的用法
或者说替代enabledelayedexpansion的用法。
收藏
分享
CrLf
发短消息
加为好友
CrLf
当前离线
UID
30406
帖子
6388
精华
2
积分
18843
PB
15777
技术
982
捐助
100
阅读权限
255
在线时间
5536 小时
注册时间
2010-10-9
最后登录
2024-5-10
论坛巡查
帖子
6388
积分
18843
技术
982
捐助
100
注册时间
2010-10-9
2
楼
发表于 2011-11-19 17:53
|
只看该作者
父进程 cmd.exe(未开启变量延迟)
cmd /v
n /k echo !b! 启用子进程 cmd.exe,在子进程中,变量延迟是被开启的
子进程运行结束,返回父进程,由于父子进程相互独立,所以此时父进程的变量延迟还是未开启的
如果不想使用 setlocal enabledelayedexpansion 来开启变量延迟,可以用 %1 cmd /v /c %0 : 来代替,但是代价是要花掉启动外部命令的时间,而且会出现两个 cmd 进程...
链接:
在线第三方命令行工具下载
bat、vbs、js 原生混编
TOP
返回列表
批处理专区: 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 分享给朋友]