首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SendTo /批/ 7zip

SendTo /批/ 7zip
EN

Stack Overflow用户
提问于 2015-06-11 15:43:40
回答 2查看 385关注 0票数 1

我正在尝试创建一个批处理脚本的SendTo快捷方式,该脚本将接受所选的文件(在本例中是jpg的),用7zip将它们压缩,并将它们命名为文件夹名(所选的文件在其中),并将它们放在同一个文件夹中。目录名中也有空格。我离得很近,但撞到了树桩。

到目前为止我得到的是..。

@echo off set folder=%~dp1 if exist "%folder%- Photos.zip" del "%folder%- Photos.zip" "C:\Program Files\7-Zip\7z" a -mx9 -tzip "%folder%- Photos.zip" "%~dp1*.jpg" pause

它正在做我想做的所有事情,除了没有正确命名zip文件。它总是以我想要的目录中的"- Photos.zip“结尾。

有什么帮助吗?提前谢谢..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-11 16:08:43

您只是指定了C:\folder\ - Photos.zip,但是您想要C:\folder\folder - Photos.zip

尝试这样分别获取文件夹和文件名前缀:

代码语言:javascript
复制
set folder=%~dp1
set filename=%~p1
set filename=%filename:~1,-1%

因为我的平板电脑没有dosbox ;-)

然后从这边走7z:

代码语言:javascript
复制
"C:\Program Files\7-Zip\7z" a -mx9 -tzip "%folder%%filename% - Photos.zip" "%~dp1*.jpg"

如果您想调试这一点,您应该添加

代码语言:javascript
复制
echo folder is %folder% >> C:\temp\batch.log
echo filename is %filename% >> C:\temp\batch.log

稍后再调查那份文件。

票数 0
EN

Stack Overflow用户

发布于 2015-06-11 17:52:43

最后想出了这个办法,而且效果很好!

代码语言:javascript
复制
@echo off

set folder=%~dp1
IF %folder:~-1%==\ SET folder=%folder:~0,-1%

set name=%~p1
if %name:~-1%==\ set name=%name:~0,-1%


if exist "%folder%%name% - Photos.zip" del "%folder%%name% - Photos.zip"

"C:\Program Files\7-Zip\7z" a -mx9 -tzip "%folder%%name% - Photos.zip" "%~dp1*.jpg"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30785463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档