私はいたるところを見て、誰からも正解を見つけることができませんでした。
C:\ Tempの内容を自己解凍型のTemp.exe(7z形式)というファイルにパッケージ化する場合、バッチファイルで行うにはどうすればよいですか?
これは機能しません:
"C:\Program Files\7-Zip\7z.exe" a -t7z -mx5 -sfx 7z.sfx directoryname archive.exe -mmt
私がそこから得たのは、7z.sfxと呼ばれる自己解凍型アーカイブです。これを理解することはできません。
私はそれをいじった後にそれを理解しました:
:: Zip
"C:\Program Files\7-Zip\7z.exe" a archive.exe -mmt -mx5 -sfx dirname
pause
あなたが抱えていた問題は、7-Zipが引数のスペースを好まないということです。だからあなたが欲しかったのはもっと次のようなものでした:
"C:\Program Files\7-Zip\7z.exe" a archive.exe -mmt -mx5 -sfx7z.sfx dirname
これは機能するはずです:
"C:\Program Files\7-Zip\7z.exe" a -t7z -mx5 -sfx archive.exe directoryname -mmt
(追記:Program Files\7-Zip
をPATH
環境変数に追加すると、7z.exe
ではなく"C:\Program Files\7-Zip\7z.exe"
としてファイルに直接アクセスできます)
基本的にしてください。マニュアルにはデフォルトが記載されています。
7z
5
( 使用する 0
for copy and 9
for ltra)-mmt
はマルチスレッド用であり、マニュアルに定義がないため、時代遅れになる可能性があります。)したがって、これは基本的な答えを次のように与えます。
7z a -sfx archive.exe dir
7-Zipには、7z.exeというコマンドラインバージョンがあり、7-ZipのWebサイトからダウンロードできます。自己解凍型インストーラーを作成するには、-sfxフラグに続けて圧縮量の数値を使用します。