如何从输入中选择每个字符并将其设置为变量?

时间:2013-12-12 17:06:35

标签: string batch-file decode pull

我正在尝试从批处理文件中创建解码器。它接受我的输入并通过查看每个字符将其转换为输出。这就是我所拥有的。

@Echo Off
:StartUpConfiguration
Cls
Color 0A
Mode Con Cols=60 Lines=35
Title Decoder

:Input
Set /P Input=[Enter Input Here]

此时我希望它读取前三个字符,它们将是“(0)”或“(1)”,然后从那里开始使第四个字符集0或1对应于前三个字符。例如,如果我的输入是“(1)3241”,我希望我的输出为“1110011110”,这使得“(1)中的第一个数字为1,然后将该数字设为3,然后交替为零,并使两个0等等。 该模式告诉它从哪个数字开始(1或0),然后创建与输入中下一个数字相对应的那个数字的多少。

我曾经看过用于从一串文字中拉出某个区域的标记。

1 个答案:

答案 0 :(得分:3)

@echo off
setlocal EnableDelayedExpansion

Set /P Input=[Enter Input Here]

for /F "tokens=1,2 delims=()" %%a in ("%input%") do (
   set bit=%%a
   set "output="
   for /F "delims=" %%c in ('cmd /D /U /C echo %%b^| find /V ""') do (
      for /L %%i in (1,1,%%c) do set "output=!output!!bit!"
      set /A "bit=^!bit"
   )
)
echo %output%