这是我批处理中的这一行给我错误输出的原因吗?

我正在研究这种无目的的批处理文件文本加密器,只是为了好玩,而且我已经尝试了好几个小时才能将大写字母作为变量中的大写字母进行处理,以进一步使用我的加密表进行处理。我希望大写和小写字母的值正确检索其键的值。现在,每当处理“ CHAR [A]”时,键的输出值就等于“ CHAR [a]”的值,我不知道为什么会这样。

这是我当前正在使用的代码:

:EncryptionTable

(set CHAR[A]=%Key1%)  & (set CHAR[B]=%Key2%)  & (set CHAR[C]=%Key3%)  & (set CHAR[D]=%Key4%)  & (set CHAR[E]=%Key5%)
(set CHAR[F]=%Key6%)  & (set CHAR[G]=%Key7%)  & (set CHAR[H]=%Key8%)  & (set CHAR[I]=%Key9%)  & (set CHAR[J]=%Key10%)
(set CHAR[K]=%Key11%) & (set CHAR[L]=%Key12%) & (set CHAR[M]=%Key13%) & (set CHAR[N]=%Key14%) & (set CHAR[O]=%Key15%)
(set CHAR[P]=%Key16%) & (set CHAR[Q]=%Key17%) & (set CHAR[R]=%Key18%) & (set CHAR[S]=%Key19%) & (set CHAR[T]=%Key20%)
(set CHAR[U]=%Key21%) & (set CHAR[V]=%Key22%) & (set CHAR[W]=%Key23%) & (set CHAR[X]=%Key24%) & (set CHAR[Y]=%Key25%)
(set CHAR[Z]=%Key26%) & (set CHAR[a]=%Key27%) & (set CHAR[b]=%Key28%) & (set CHAR[c]=%Key29%) & (set CHAR[d]=%Key30%) 
(set CHAR[e]=%Key31%) & (set CHAR[f]=%Key32%) & (set CHAR[g]=%Key33%) & (set CHAR[h]=%Key34%) & (set CHAR[i]=%Key35%) 
(set CHAR[j]=%Key36%) & (set CHAR[k]=%Key37%) & (set CHAR[l]=%Key38%) & (set CHAR[m]=%Key39%) & (set CHAR[n]=%Key40%)
(set CHAR[o]=%Key41%) & (set CHAR[p]=%Key42%) & (set CHAR[q]=%Key43%) & (set CHAR[r]=%Key44%) & (set CHAR[s]=%Key45%) 
(set CHAR[t]=%Key46%) & (set CHAR[u]=%Key47%) & (set CHAR[v]=%Key48%) & (set CHAR[w]=%Key49%) & (set CHAR[x]=%Key50%)
(set CHAR[y]=%Key51%) & (set CHAR[z]=%Key52%) & (set CHAR[1]=%Key53%) & (set CHAR[2]=%Key54%) & (set CHAR[3]=%Key55%) 
(set CHAR[4]=%Key56%) & (set CHAR[5]=%Key57%) & (set CHAR[6]=%Key58%) & (set CHAR[7]=%Key59%) & (set CHAR[8]=%Key60%)
(set CHAR[9]=%Key61%) & (set CHAR[0]=%Key62%) & (set CHAR[@]=%Key63%) & (set CHAR[#]=%Key64%) & (set CHAR[$]=%Key65%)
(set CHAR[*]=%Key66%) & (set CHAR[(]=%Key67%) & (set CHAR[.]=%Key68%) & (set CHAR[,]=%Key69%) & (set CHAR[-]=%Key70%)
(set CHAR[ ]=%Key71%) & (set CHAR[\]=%Key72%) & (set CHAR[/]=%Key73%)
setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
echo Enter text to encrypt:
set /p Encrypt=
cls
echo Encryption in progress...
set Encrypt2=%Encrypt%
set "DecryptionKey="
:encrypt2
set char=%Encrypt2:~0,1%

rem v Issue appears to occur with this line
set Encrypt2=%Encrypt2:~1%
rem ^

set DecryptionKey=%DecryptionKey%!CHAR[%char%]!
if not "%Encrypt2%"=="" goto encrypt2

这是我最初使用并经过修改以获取以上代码的代码:

setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
::set Encrypt=Nothing
(set CHAR[a]=Udfm45) & (set CHAR[b]=H21DGF) & (set CHAR[c]=FDH56D) & (set CHAR[d]=FGS546) & (set CHAR[e]=JUK4JH)
(set CHAR[f]=ERG54S) & (set CHAR[g]=T5H4FD) & (set CHAR[h]=RG641G) & (set CHAR[i]=RG4F4D) & (set CHAR[j]=RT56F6)
(set CHAR[k]=VCBC3B) & (set CHAR[l]=F8G9GF) & (set CHAR[m]=FD4CJS) & (set CHAR[n]=G423FG) & (set CHAR[o]=F45GC2)
(set CHAR[p]=TH5DF5) & (set CHAR[q]=CV4F6R) & (set CHAR[r]=XF64TS) & (set CHAR[s]=X78DGT) & (set CHAR[t]=TH74SJ)
(set CHAR[u]=BCX6DF) & (set CHAR[v]=FG65SD) & (set CHAR[w]=4KL45D) & (set CHAR[x]=GFH3F2) & (set CHAR[y]=GH56GF)
(set CHAR[z]=45T1FG) & (set CHAR[1]=D4G23D) & (set CHAR[2]=GB56FG) & (set CHAR[3]=SF45GF) & (set CHAR[4]=P4FF12)
(set CHAR[5]=F6DFG1) & (set CHAR[6]=56FG4G) & (set CHAR[7]=USGFDG) & (set CHAR[8]=FKHFDG) & (set CHAR[9]=IFGJH6)
(set CHAR[0]=87H8G7) & (set CHAR[@]=G25GHF) & (set CHAR[#]=45FGFH) & (set CHAR[$]=75FG45) & (set CHAR[*]=54GDH5)
(set CHAR[(]=45F465) & (set CHAR[.]=HG56FG) & (set CHAR[,]=DF56H4) & (set CHAR[-]=F5JHFH) & (set CHAR[ ]=SGF4HF)
(set CHAR[\]=45GH45) & (set CHAR[/]=56H45G)

echo Enter a string to encrypt:
set /p Encrypt=
cls
set Encrypt2=%Encrypt%
set "EncryptOut="
:encrypt2
set char=%Encrypt2:~0,1%
set Encrypt2=%Encrypt2:~1%
set EncryptOut=%EncryptOut%!CHAR[%char%]!
if not "%Encrypt2%"=="" goto encrypt2
echo Input string: %Encrypt%
echo.
echo Output string: %EncryptOut%
set string=%EncryptOut%
set temp_str=%string%
set str_len=0
tian9085 回答:这是我批处理中的这一行给我错误输出的原因吗?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3045829.html

大家都在问