batch-file - SendTo 文件夹的 7zip SFX 批处理

标签 batch-file 7zip sendto

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\命令] @="\"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 exit 代码,以便如果您将 .exe 发送到批处理文件,它仍然会创建自解压 .exe,但文件名中包含 _zipped

关于batch-file - SendTo 文件夹的 7zip SFX 批处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16795607/

相关文章:

python - pip 如何在 windows 7 x64 python 2.7 上安装 pylzma

javascript - 如何实现 "send to kindle"链接?

Linux 多播 sendto() 性能因本地监听器而降低

java - 在 Java 中,如何从 Windows 的上下文菜单中读取文件名

cordova - 调用cordova命令后CMD关闭

date - 如何通过批处理查找最后一个星期日日期

c++ - lzma 从内存中压缩/解压缩 C++

c# - 使用 7zip 压缩文件的示例 C# .net 代码

git - 如何使用 powershell 和批处理文件从实时网站自动每晚推送到 GitHub 分支

batch-file - 使用批处理文件在 Windows 中生成 GUID