batch - 如何使用var替换单词

时间:2016-08-24 16:54:12

标签: batch-file encryption

我有一个关于如何批量做某事的问题。

我正在制作一个将加密en decrypt消息的批处理文件

我遇到解密问题。加密某些内容时,会创建一个可用于解密消息的密钥。

我有这段代码:

    @JsonFormat(pattern="dd/MM/yyyy HH:mm:ss")
    @Column(name="dat_registro")
    private Date registro;

哪个set de=%de:!de1!=a% set de=%de:!de2!=b% set de=%de:!de3!=c% set de=%de:!de4!=d% set de=%de:!de51!=e% set de=%de:!de6!=f% set de=%de:!de7!=g% set de=%de:!de8!=h% set de=%de:!de9!=i% set de=%de:!de10!=j% set de=%de:!de11!=k% set de=%de:!de12!=l% set de=%de:!de13!=m% set de=%de:!de14!=n% set de=%de:!de15!=o% set de=%de:!de16!=p% set de=%de:!de17!=q% set de=%de:!de18!=r% set de=%de:!de19!=s% set de=%de:!de20!=t% set de=%de:!de21!=u% set de=%de:!de22!=v% set de=%de:!de23!=w% set de=%de:!de24!=x% set de=%de:!de25!=y% set de=%de:!de26!=z% 是解密消息所在的var? dede1是对应字母的键。

我要问的是如何使它,例如,如果消息是'hello',该消息的加密是12334,密钥是:h = 1 e = 2 l = 3 o = 4 ,它用字母替换数字?

1 个答案:

答案 0 :(得分:2)

您犯了一个简单的错误,如果您将该行更改为set de=%de:!de51!=e%,请参阅set de=%de:!de5!=e%,然后您应该修复它。该行破坏代码的原因是因为%de51%是未定义的变量,这意味着CMD将命令解释为set de=%de:=e%。这意味着CMD会将%de%解释为de:=e的字面变量 固定代码:

set de=%de:!de1!=a%
set de=%de:!de2!=b%
set de=%de:!de3!=c%
set de=%de:!de4!=d%
set de=%de:!de5!=e%
set de=%de:!de6!=f%
set de=%de:!de7!=g%
set de=%de:!de8!=h%
set de=%de:!de9!=i%
set de=%de:!de10!=j%
set de=%de:!de11!=k%
set de=%de:!de12!=l%
set de=%de:!de13!=m%
set de=%de:!de14!=n%
set de=%de:!de15!=o%
set de=%de:!de16!=p%
set de=%de:!de17!=q%
set de=%de:!de18!=r%
set de=%de:!de19!=s%
set de=%de:!de20!=t%
set de=%de:!de21!=u%
set de=%de:!de22!=v%
set de=%de:!de23!=w%
set de=%de:!de24!=x%
set de=%de:!de25!=y%
set de=%de:!de26!=z%


工作实例:

@echo off
setlocal ENABLEDELAYEDEXPANSION
call :decrypt 12334
echo %de%
pause
exit /b

:decrypt
set "de=%~1"
set de1=1
set de2=2
set de3=3
set de4=4
set de5=5
set de6=6
set de7=7
set de8=8
set de9=9
set de10=10
set de11=11
set de12=12
set de13=13
set de14=14
set de15=15
set de16=16
set de17=17
set de18=18
set de19=19
set de20=20
set de21=21
set de22=22
set de23=23
set de24=24
set de25=25
set de26=26
set de=!de:%de1%=a!
set de=!de:%de2%=b!
set de=!de:%de3%=c!
set de=!de:%de4%=d!
set de=!de:%de5%=e!
set de=!de:%de6%=f!
set de=!de:%de7%=g!
set de=!de:%de8%=h!
set de=!de:%de9%=i!
set de=!de:%de10%=j!
set de=!de:%de11%=k!
set de=!de:%de12%=l!
set de=!de:%de13%=m!
set de=!de:%de14%=n!
set de=!de:%de15%=o!
set de=!de:%de16%=p!
set de=!de:%de17%=q!
set de=!de:%de18%=r!
set de=!de:%de19%=s!
set de=!de:%de20%=t!
set de=!de:%de21%=u!
set de=!de:%de22%=v!
set de=!de:%de23%=w!
set de=!de:%de24%=x!
set de=!de:%de25%=y!
set de=!de:%de26%=z!
goto :EOF