批量解码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%