2
7z a -mx9 -sfx %1.exe %1

これは私がこれまでバッチファイルとして持っていたもので、ファイルまたはフォルダーをバッチファイルにドラッグアンドドロップすると、元のファイルと同じ名前で Ultra Compression の 7zip SFX が取得されます。ただし、これは、ファイルがバッチ ファイルと同じフォルダーにある場合にのみ機能します。

私が達成しようとしているのは、このバッチファイルをsendtoフォルダーに入れて、どこにあるファイルでも元のディレクトリのフォルダーに表示される高度に圧縮されたexeに変換できるようにすることです。

どんな助けでも大歓迎です、それは簡単だと確信していますが、私には手がかりがありません。

編集 5月29日 @ 16:50

[HKEY_CLASSES_ROOT*\shell\Compress To Exe]

[HKEY_CLASSES_ROOT*\shell\Compress To Exe\command] @="\"c:\Program Files\7-Zip\7z\" u -mx9 -sfx -r -t7z \"%1.exe\" \"% 1\""

それをレジストリまたは.regファイルに追加して、sendtoの親であるコンテキストメニューボタンを作成します。

4

1 に答える 1

2

次のバッチ ファイルを使用して、ファイルまたはフォルダーを Send-To ショートカットに送信します。これにより、元のファイル/フォルダーと同じ場所に自己解凍 7z ファイルが作成されます。

@echo off
cd /d %1
if %errorlevel%==1 (goto file) else (goto dir)

:dir
cd..
"c:\Program Files\7-Zip\7z" u -mx9 -sfx -r -t7z "%~n1.exe" "%~f1"
goto :EOF

:file
cd /d "%~dp1"
if exist "%~n1.exe" (
  "c:\Program Files\7-Zip\7z" u -mx9 -sfx -t7z "%~n1_zipped.exe" "%~f1"
) else (
  "c:\Program Files\7-Zip\7z" u -mx9 -sfx -t7z "%~n1.exe" "%~f1"
)
goto :EOF

私のパラメータはあなたのものとは少し異なりますが、好きなように微調整できます。

5月29日 - 編集

バッチ ファイルに を送信すると、自己解凍形式の が作成されるif existようにコードが追加されましたが、ファイル名には が含まれます。.exe.exe_zipped

于 2013-05-29T03:03:42.907 に答える