0

我正在尝试创建一个批处理文件,其中将一个或多个大文件存储为 base64 编码字符串,然后将它们转换回文件。我一直在关注这个问题的第一个答案:将文件存储在批处理文件中?但我试图在这个批处理文件中存储一个~3mb 的文件,当谈到将文件源写回文件(通过回显)时,批处理文件似乎崩溃了。我收到一个弹出窗口,提示“Windows 命令处理器已停止工作”。

批处理文件一次可以写入文件的数据量是否有限制?

我已经正确地遵循了这个示例,只是将 file.tmp 名称更改为 filetest.tmp,但是这个批处理文件中有大约 47,000 行(这可能是导致它崩溃的原因)。

关于如何解决这个问题的任何想法?

编辑: certutil 对原始文件进行了相当快的编码,所以我认为这部分不是问题。

4

1 回答 1

0

我建议您查看我的 Binary to Batch 编码程序的最新版本:BinToBat.bat;对于这种类型的编码,它具有一系列非常有用的功能。这是帮助屏幕:

Create an installer Batch program for data files of any type

BINTOBAT [/T:.ext1.ext2...] [/L:lineSize] [/F[:fileSize]] filename ...

  /T:.ext1.ext2    Specify the extensions of text type files that will not be
                   encoded as hexadecimal digits, but preserved as text.
  /L:lineSize      Specify the size of output lines (default: 78).
  /F[:fileSize]    /F switch specify to generate a Full installer file.
                   The optional fileSize specify the maximum output file size.

BinToBat encode the given data files as hexadecimal digits (or preserve they
as compressed text) and insert they into InstallFiles.bat program; when this
program run, it generates the original data files.

You may rename the InstallFiles.bat program as you wish, but preserving the
"Install" prefix is suggested.

You may use wild-cards in the filename list.

If the /F switch is not given, a Partial installer is created:
- You may insert a short description for each file.
- You may insert divisions in the file listing via a dash in the parameters.
- The installer allows to select which files will be downloaded and ask
  before overwrite existent files.

If the /F switch is given, a Full installer is created:
- The installer always download all files.
- You may specify commands that will be executed after the files were copied.
- You may specify the maximum size of the output file via /F:fileFize, so in
  this case the output file will be divided in parts with a numeric postfix.

  If you use /F switch you can NOT rename the InstallFiles??.bat files; the
  first one is the installer and the rest just contain data.

该程序已通过 15 MB 大小的文件成功测试,这些文件在合理的时间(8-9 分钟)内编码,提取速度更快。当然,这些时间取决于所使用的计算机。

于 2014-12-09T16:44:01.047 回答