[英]SendTo / Batch / 7zip
我正在嘗試創建一個批處理腳本的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”結尾。
有什么幫助嗎? 提前致謝..
您僅指定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\7-Zip\7z" 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\7-Zip\7z" a -mx9 -tzip "%folder%%name% - Photos.zip" "%~dp1*.jpg"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.