Windows 如何批量显示Echo On中的所有字符

Windows 如何批量显示Echo On中的所有字符,windows,batch-file,Windows,Batch File,我遇到了一个问题,当我尝试回显时,无法让所有字符(特别是特殊字符)都显示出来 echo 1234567890q!w@e#r$t%y^u&io()pa;s/d.f,ghjklzxcvb nmQAZXSWEDCVFRTGBNHYUJMKIOLP 批量使用此代码时,不会显示字符(特别是特殊字符),而是说“此程序无法识别为内部或外部命令、可操作程序或批处理文件。”。之所以这样说,是因为行中有特殊字符,但如何在echo中显示特殊字符?谢谢大家。当我从命令行测试它们时,这两行都不会产生特定的错误消

我遇到了一个问题,当我尝试回显时,无法让所有字符(特别是特殊字符)都显示出来

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

批量使用此代码时,不会显示字符(特别是特殊字符),而是说“此程序无法识别为内部或外部命令、可操作程序或批处理文件。”。之所以这样说,是因为行中有特殊字符,但如何在echo中显示特殊字符?谢谢大家。

当我从命令行测试它们时,这两行都不会产生特定的错误消息(尽管第一行的结果是“环境变量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

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

你的第一个
集合
不起作用,因为你没有给变量设置任何值。您使用
上的回声是什么意思?您是将
ECHO放在代码之前的
,还是尝试通过
ECHO%CHARSET%
输出它?哦,我的道歉,我只是想复制并跳过这个。“回声1234567890q!w@e#r$t%y^u&io()pa;s/d.f,ghjklzxcvb NMQAZXSWEDCVRTGBNHYUJMKIOLP“未”设置1234567890q!w@e#r$t%y^u&io()年;s/d.f,GHJKLZXCVBNMQAZXSWEDCVRTGBNHYUJMKIOLP“SET”字符集=1234567890q!w@e#r$t%y^u&i*o()pa;s/d.f,ghjklzxcvbnmqazxswedcvrtgbnhyujmkiolp“我为这个错误道歉,你能用“echo 1234567890q!w@e#r$t%y^u&io()年;s/d.f,ghjklzxcvb NmqazxswedcvrtgbNhyujmkiolp“请谢谢。比我和你写得快,我现在正在写+1他可能需要几个字符才能让它像他想要的那样工作。@BaconBits不,只有
%
需要加倍,其余的都是安全的,因为它在里面。”quotes@BaconBits但在引号中,您不能逃避
|&
,甚至不能逃避插入符号本身。只有百分号不受影响quotes@BaconBits实际上,我刚刚进行了测试,通过延迟扩展进行检索消除了双重泵入插入符号的需要。