首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >相同的命令,不同的结果(命令行或批处理)

相同的命令,不同的结果(命令行或批处理)
EN

Stack Overflow用户
提问于 2012-05-30 05:39:39
回答 1查看 591关注 0票数 0

我一直试图创建一个非常简单的windows脚本,它几乎可以工作(“几乎”解释了我在这里的存在.)。我想连锁几个命令。其中之一是用于添加注册表项。我已经找到了如何使用以下命令执行此操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
REG ADD "HKCU\Software\Microsoft\Office\12.0\Common\DRM" /v "AdminTemplatePath" /t REG_EXPAND_SZ /d ^%LocalAppData^%\Microsoft\DRM\Templates /f

我想添加一个名为"AdminTemplatePath“的键,它的值为"%LocalAppData%\Microsoft\DRM\Templates".

问题在于环境变量%LocalAppData%.。当我执行REG ADD /?时,它说我必须将"^“放在每个"%”之前,命令行才能工作(如果没有"^",变量将被解释并替换为其绝对值)。

当我在提示符中输入完整命令时,一切正常。在value字段中有"%LocalAppData%\Microsoft\DRM\Templates".当我在批处理文件中复制/粘贴此命令时,运行时没有问题。系统告诉我一切都很好。但实际上,值是"^\Microsoft\DRM\Templates“或"\Microsoft\DRM\Templates".

当我删除完整命令中的"^“并重试时,值为"C:\Users\My

有人知道如何保持环境变量的原样,运行批处理文件吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-30 05:48:01

^被设定为批处理脚本中的转义字符,但我也一直对它有困难。

相反,尝试双倍百分比,用双引号括起来:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
^%LocalAppData^%\Microsoft\DRM\Templates

应该是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"%%LocalAppData%%\Microsoft\DRM\Templates"

有关批处理脚本中转义字符的更多信息,请查看http://www.robvanderwoude.com/escapechars.php

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10817501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文