エンコードされたプログラムが含まれるWindowsbatch
スクリプトを作成したいと考えています。base64
含まれているということは、エンコードされたプログラムが「ハードコード」されるということです。ファイルを1行ずつ書き込む「関数」(またはコードブロック)が必要です。
(Linuxに関連するこの質問のようにBash
:バイナリ実行可能ファイルを含むBashスクリプト)
次の点に当てはまる場合、このようなことを行うための最良の方法は何ですか?
- Windows にバンドルされているツールのみを使用したい (追加のライブラリ、実行可能ファイルなどは使用しない)
- ファイルは単一である必要があります-
base64
エンコードされた文字列を任意の方法で含めることができます - 可能な限り高いパフォーマンスを実現したい
base64
エンコードされた各行をエコー呼び出しに変換しようとしましたが、これは非常に遅いです。6000行のエコーには約10秒かかります(この方法で約10,000行のファイルを生成したい)。
これを行うためのより良い方法はありますか?おそらく、Windows に「ファイル スプリッター」があり、このバッチ スクリプトを分割して、何らかの行を「抽出」し (100 ~ 10100 行を抽出するなど)、それらを別のファイルに保存できますか?
現在使用されているファイル生成の一部は次のとおりです。
:getbin_Windows_x86
[...]
echo f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAAsCVAAAAAAABAAAAAAAAAAEiGBQAAAAAAAAAAAEAAOAAK>>%INSTALLER_BASE_TMP%
echo AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA>>%INSTALLER_BASE_TMP%
echo AAAMAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA>>%INSTALLER_BASE_TMP%
[...]
GOTO:EOF
バッチファイルを使用してやりたいのですが、Power Shell
より良い結果が得られる場合は、それに移動します。