发送到/批处理/7zip
SendTo / Batch / 7zip
我正在尝试为批处理脚本创建一个 SendTo 快捷方式,该脚本将获取选定的文件(在本例中为 jpg 文件),使用 7zip 压缩它们并将它们命名为文件夹名称(选定文件所在的文件夹名称)和将它们放在同一个文件夹中。目录名称中也有空格。
我真的很接近,但遇到了一个问题..
这是我目前所知道的..
@echo off
set folder=%~dp1
if exist "%folder%- Photos.zip" del "%folder%- Photos.zip"
"C:\Program Files-Zipz" a -mx9 -tzip "%folder%- Photos.zip" "%~dp1*.jpg"
pause
除了没有正确命名 zip 文件之外,它几乎可以做我想做的一切。它总是在我想要的目录中以“- Photos.zip”结尾。
有什么帮助吗?
提前致谢..
您只是指定 C:\folder\ - Photos.zip
但您想要 C:\folder\folder - Photos.zip
试试这个来分别获取文件夹和文件名前缀:
set folder=%~dp1
set filename=%~p1
set filename=%filename:~1,-1%
无法尝试,因为我的平板电脑没有 dosbox ;-)
然后7z这样:
"C:\Program Files-Zipz" a -mx9 -tzip "%folder%%filename% - Photos.zip" "%~dp1*.jpg"
如果你想调试这个,你应该添加
echo folder is %folder% >> C:\temp\batch.log
echo filename is %filename% >> C:\temp\batch.log
稍后再调查该文件。
最终想到了这个并且它有效!
@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-Zipz" a -mx9 -tzip "%folder%%name% - Photos.zip" "%~dp1*.jpg"
我正在尝试为批处理脚本创建一个 SendTo 快捷方式,该脚本将获取选定的文件(在本例中为 jpg 文件),使用 7zip 压缩它们并将它们命名为文件夹名称(选定文件所在的文件夹名称)和将它们放在同一个文件夹中。目录名称中也有空格。 我真的很接近,但遇到了一个问题..
这是我目前所知道的..
@echo off
set folder=%~dp1
if exist "%folder%- Photos.zip" del "%folder%- Photos.zip"
"C:\Program Files-Zipz" a -mx9 -tzip "%folder%- Photos.zip" "%~dp1*.jpg"
pause
除了没有正确命名 zip 文件之外,它几乎可以做我想做的一切。它总是在我想要的目录中以“- Photos.zip”结尾。
有什么帮助吗? 提前致谢..
您只是指定 C:\folder\ - Photos.zip
但您想要 C:\folder\folder - Photos.zip
试试这个来分别获取文件夹和文件名前缀:
set folder=%~dp1
set filename=%~p1
set filename=%filename:~1,-1%
无法尝试,因为我的平板电脑没有 dosbox ;-)
然后7z这样:
"C:\Program Files-Zipz" a -mx9 -tzip "%folder%%filename% - Photos.zip" "%~dp1*.jpg"
如果你想调试这个,你应该添加
echo folder is %folder% >> C:\temp\batch.log
echo filename is %filename% >> C:\temp\batch.log
稍后再调查该文件。
最终想到了这个并且它有效!
@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-Zipz" a -mx9 -tzip "%folder%%name% - Photos.zip" "%~dp1*.jpg"