2017-08-31 230 views
2

我想让这样的事情如何在变量中添加'&'符号?

set ac=&Hello 

但它会说“你好”不是一个命令。我试着把这样的双引号,

set ac="&Hello" 

但它会显示双引号。有人有想法吗?

+0

怎么样'设置 “AC =&Hello” 的',然后再输出延迟的扩张? – SteveFest

+0

@RajaEzzy在[在命令行中使用'set var = text'之后,为什么没有使用'echo%var%'输出字符串?](https://stackoverflow.com/a/26388460/3074564)详细说明如何为环境变量赋值,以及为什么应该几乎总是使用'set'variable = value“'语法。 – Mofi

回答

3

使用,一个人可以echo任何内容,甚至特殊字符没有逃脱。在后续的例子看看:

较长,但更明确的解决方案

@echo off 
setlocal enableDelayedExpansion 
set "ac=&Hello" 
echo !ac! 

这将输出&Hello如你预期。还有一些其他的方法,但这是最简单的一个。


较短,但梅西耶解决方案

@echo off 
setlocal enableDelayedExpansion 
set "ac=&Hello"&&echo !ac! 

呈三角以上,这个片段只是移动echo到同一行set声明。这将更容易看到当文本的大部分内容echo


2

你可以试试这个:

@echo off 
set ab=^^^&hello 
echo %ab% & pause