从Windows批处理中的ASCII代码返回字符

时间:2016-07-09 13:21:47

标签: windows batch-file cmd char ascii

我制作了一个用于在Batch中编码文本字符串的程序。现在,我必须将ASCII代码转换为字符。实际上,我必须做相反的事情。 我划分了字符串的字符,我想把它翻译成ASCII。 我找到了一个很好的命令来将ASCII转换为char:

cmd /c exit 65
echo %=exitcodeAscii%

但是,当我在for循环中运行它时它会停止工作。通过for迭代,我验证ASCII代码(for index)是否与字符相同。

@echo off
setlocal enableDelayedExpansion
set char=A
for /L %%a in (32,1,126) do (
cmd /c exit %%a
echo %=exitcodeAscii%
if %=exitcodeAscii% EQU %char% echo %%a
)

似乎cmd不起作用。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

@echo off
setlocal enableDelayedExpansion
set char=A
for /L %%a in (32,1,126) do (
  cmd /c exit %%a
  echo !=exitcodeAscii!
  if "!=exitcodeAscii!" EQU "%char%" echo %%a
)

两点变化:
a)使用延迟扩展(您已经启用它)
b)围绕if参数进行qoutes以防止语法错误与空变量(特别是%%a = 32的空间,if无法处理它自己的values.containsKey(Meta.Data.TIMESTAMP)

答案 1 :(得分:0)

这是老板。只是阅读,放屁和掌声。

ignoredParameterTypes