【问题标题】:Encode to Base64 a specific file by Windows Command Line通过 Windows 命令行将特定文件编码为 Base64
【发布时间】:2021-01-05 10:37:34
【问题描述】:

我需要在 Windows 操作系统上使用命令行来生成屏幕上特定文件的 base64 数据(不生成文件)。

我已经看到在 Unix 系统上使用就足够了

cat <file_name>| base64

获取编码为base64的文件内容。

在 Windows 上我无法获得相同的结果。

我找到了这个解决方案:

certutil -encode -f <file_name> tmp.b64 && findstr /v /c:- tmp.b64 && del tmp.b64

但这需要系统生成一个临时文件,所以最后去销毁它。 仅使用certutil 命令,屏幕上的结果就会被包含不相关信息的 3 行所污染。

有人可以帮我在 Windows 上提供一个只生成 base64 数据的命令吗?

更新: 通过这个新版本的命令,我改进了屏幕上的结果:

certutil -encode -f <file_name> tmp.b64 && cls && findstr /v /c:- tmp.b64 && del tmp.b64

结果更像我的要求, 但我想避免每次都创建临时文件tmp.b64

【问题讨论】:

    标签: windows command-line base64 batch-processing tobase64string


    【解决方案1】:

    我建议在您的 Windows 机器上安装 OpenSSL。设置 PATH 变量后,很简单:

    type <file_name> | openssl base64
    

    【讨论】:

    • 嗨,不幸的是,我无法在服务器上安装其他应用程序
    • 出于某种原因更改为type
    • 这很微不足道,但谁知道 Windows 的悲惨是否需要它。如果命令不简单地接受文件名参数,通常的建议是使用重定向。
    • 但是使用“更多”或“类型”,我可以看到文件上的内容。我的想法是不创建临时文件,而是将特定文件的 base64 作为命令的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-21
    • 1970-01-01
    • 2013-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多