找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22771|回复: 3

[系统相关] [已解决]在命令提示符窗口下如何开启延迟扩展?详情內询。

[复制链接]
发表于 2015-1-25 12:11:34 | 显示全部楼层 |阅读模式
本帖最后由 慕夜蓝化 于 2015-1-27 10:32 编辑

  1. Microsoft Windows [版本 6.1.7601]
  2. 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

  3. C:\Users\Administrator>set str=123

  4. C:\Users\Administrator>echo,!str!
  5. !str!

  6. C:\Users\Administrator>setlocal enabledelayedexpansion

  7. C:\Users\Administrator>echo,!str!
  8. !str!

  9. C:\Users\Administrator>echo,%str%
  10. 123
复制代码
这是在命令提示符窗口下的操作。
! 没用,难道说在控制台窗口中无法使用!的方式用来输出吗?
或者说这个本地延迟扩展命令在控制台窗口下没用?
但我看到一篇文章指出:
“这个双!就是延迟扩展,等执行时才扩展变量。
命令行窗口里是延迟扩展是默认开启的。
也可以setlocal EnableDelayedExpansion 打开,setlocal DisableDelayedExpansion 关闭。”
可我怎么弄,这个!都无法输出结果。问题出在了哪?
 楼主| 发表于 2015-1-25 12:24:38 | 显示全部楼层
通过 cmd /vn 可以暂时开启变量延迟扩展
但是关闭控制台窗口后。再次打开仍然需要执行 cmd /v:on 命令
且 cmd /e:on 命令并没有作用?
仅开启cmd /e:on

  1. C:\Users\Administrator>cmd /e:on
  2. Microsoft Windows [版本 6.1.7601]
  3. 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

  4. C:\Users\Administrator>set str=123

  5. C:\Users\Administrator>echo,!str!
  6. !str!

  7. C:\Users\Administrator>echo,%str%
  8. 123
复制代码
发表于 2015-1-25 13:31:28 | 显示全部楼层
/en 的命令扩展指的不是变量延迟

不过可以在System32下建立一个CMD的快捷方式,目标后面加上"/V:ON"就行了
 楼主| 发表于 2015-1-25 15:29:24 | 显示全部楼层
回复 3# bailong360

嗯嗯。就这样先用着吧!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 19:09 , Processed in 0.016985 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表