批量解码base64
我正在尝试使用批处理进行安装。 当然,安装程序需要包含将要安装的文件,因此我正在考虑使用base64对文件进行编码,并将其解码并将其写入目标。
当然,如果Windows有类似Linux框中包含的base64
工具,我的工作将非常简单。 但是,因为它根本就不存在,是否有任何方法可以使用batch file完全解码base64内容? 我该如何做到这一点?
任何帮助表示赞赏。
(这只是一个实验,所以我不担心效率低下等)。
实际上,Windows确实有一个实用的编码和解码base64 – CERTUTIL
我不确定哪个版本的Windows引入了这个命令。
编码文件:
certutil -encode inputFileName encodedOutputFileName
解码文件:
certutil -decode encodedInputFileName decodedOutputFileName
CERTUTIL有许多可用的动词和选项。
要获得几乎所有可用动词的列表:
certutil -?
要获得有关特定动词的帮助(例如-encode):
certutil -encode -?
为几乎所有的动词获得完整的帮助:
certutil -v -?
神秘的是, -encodehex
动词未列出与certutil -?
或certutil -v -?
。 但它使用certutil -encodehex -?
来描述certutil -encodehex -?
。 这是另一个方便的function:-)
这是一个batch file,名为base64encode.bat,它编码base64。
@echo off if not "%1" == "" goto :arg1exists echo usage: base64encode input-file [output-file] goto :eof :arg1exists set base64out=%2 if "%base64out%" == "" set base64out=con ( set base64tmp=base64.tmp certutil -encode "%1" %base64tmp% > nul findstr /v /c:- %base64tmp% erase %base64tmp% ) > %base64out%