繁体   English   中英

如何批量转义`!$`?

[英]How to escape `!$` in batch?

关于如何在cmd.exe转义给定字符,StackOverflow上存在很多问题。 但是,似乎没有一种解决方案适用于我。

基本上,我想做的是将环境变量FOO设置为a!$5

我尝试了明显的方法:

set FOO=a!$5

这使:

History expansion: set FOO=ae5

足够公平,我想我必须逃脱了! $或两者。 但是,似乎没有任何效果。

我可以:

echo a^!
a!

和:

echo a$
a$

乃至:

echo a^$
a$

但:

echo a^!$
History expansion: echo a^a^$
aa$

我不知所措在这里做什么。 看来无论我如何转义特殊字符,都无法获得想要的结果。

我怎样才能做到这一点 ?

这显然是我在计算机上设置的Clink中的错误。

我最终做的很无聊,但仍在工作:

set FOO=a!
set FOO=%FOO%$5

哪个完美。 悲伤,但至少对任何人都有效。

^转义每个字符: echo a^!^$5

a!$5

这不是一个答案,但是当我键入set FOO = a!$ 5时,这正是我得到的。 我认为可能需要前任

Setlocal EnableDelayedExpansion

但是这样做却没有效果(也许这是我的默认设置?)对不起,我无济于事!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM