如何在批处理中显示回声中的所有字符

时间:2015-04-21 12:50:08

标签: windows batch-file

我遇到一个问题,当我试图回应它时,我无法显示所有字符(特别是特殊字符)

echo 1234567890q!w@e#r$t%y^u&io()pa;s/d.f,ghjklzxcvb nmQAZXSWEDCVFRTGBNHYUJMKIOLP

批量使用此代码时,它不显示字符(尤其是特殊字符),而是说“此程序无法识别为内部或外部命令,可操作程序或批处理文件。”。这就是为什么说这是因为线条有特殊字符但是如何在echo中显示特殊字符呢?谢谢大家。

1 个答案:

答案 0 :(得分:3)

当我从命令行测试它们时,这些行都不会导致该特定错误消息(尽管第一行导致“环境变量123456etc。未定义”)。您已正确引用了“variable = value”对,将CHARSET设置为该值没有问题。

我怀疑问题在于echo %charset% &被评估为命令分隔符,并将此后的字符串作为新命令进行评估。尝试在延迟扩展样式中检索CHARSET的值。

set "charset=1234567890q!w@e#r$t%%y^u&io()pa;s/d.f,ghjklzxcvb nmQAZXSWEDCVFRTGBNHYUJMKIOLP"
setlocal enabledelayedexpansion
echo !charset!
endlocal

顺便说一句,如果你想要包含一个文字百分比,你应该加倍(%%)。