7z a -mx9 -sfx %1.exe %1
这就是我到目前为止所拥有的批处理文件,如果我将文件或文件夹拖放到批处理文件上,我会在超压缩上获得与原始文件同名的 7zip SFX。但这仅当文件与批处理文件位于同一文件夹中时才有效。
我想要实现的是,将此批处理文件放入 sendto 文件夹中,以便我可以将任何位置的任何文件转换为高度压缩的 exe,该文件出现在原始目录的文件夹中。
任何帮助将不胜感激,我确信这很简单,但我不知道。
编辑 5 月 29 日 @ 16:50
[HKEY_CLASSES_ROOT*\shell\压缩到 Exe]
[HKEY_CLASSES_ROOT*\shell\压缩到 Exe\command]
@="\"c:\Program Files\7-Zip\7z\" u -mx9 -sfx -r -t7z \"%1.exe\" \"%1\""
将其添加到注册表或 .reg 文件以创建上下文菜单按钮,该按钮是 sendto 的父级。
我使用以下批处理文件将文件或文件夹发送到“发送到”快捷方式,这会在与原始文件/文件夹相同的位置创建一个自解压 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
在文件名中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)