簡體   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