[英]Interactive Command Prompt character escaping %
我需要在交互式命令提示符中转义%
字符(不在批处理文件中)。 如何回显文本a %pathext% b
; %pathext%
扩展为环境变量; ^
、 %
、 \
和"quotes"
都不起作用。 请基于以下答案: echo a %pathext% b
。
提前谢谢了。
有一个简单的解决方案,但它不是 100% 防弹的
echo a %path^ext% b
插入符号的 position 可以移动到任何 position。这是有效的,因为命令行上的变量扩展与批处理文件中的工作方式不同。
如果应扩展未定义的变量,则在批处理文件中它会生成一个空文本,但在 cli 上将不加更改地使用百分比表达式。 插入符将在解析器的后续步骤中删除。
但是当存在名为path^ext
的变量时它仍然会失败
对于防弹解决方案,您需要创建一个百分号并将其展开。
for /F "delims==" %# in ("%=%=") do echo a %#pathext%# b
echo a %^pathext% b
在变量内使用插入符号(它可以在%
符号内的任何位置)以防止解析器识别和替换变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.