作者HJY690803 (喵)
看板EZsoft
标题Re: [请益] 如何使用7z来批次压缩档案?
时间Mon Jan 23 22:58:58 2012
※ 引述《hpo14 (雨)》之铭言:
: 前文述删
: : 不过有一个问题就是执行时都会跑到前景作业,变成在批次压缩时无法做其它事情。
: : 请问如何修改BAT档文件中程式码让它可以保持背景作业呢?
: 假设你用的是这个版本
: -----
: @echo off
: set a=c:\program files\7-zip\7z.exe
: for %%a in (%*) do "%a%" a -tzip "%%~dpa%%~na.zip" %%a
: -----
: 1. 请稍做修改为如下,将原本的 FOR 回圈以 REM 注解起来备不时之需
: -----8<-----
: @echo off
: set a=c:\program files\7-zip\7z.exe
: REM for %%a in (%*) do "%a%" a -tzip "%%~dpa%%~na.zip" %%a
: for %%a in (%*) do wscript.exe "%~dp1\123.vbs" "%a%" "%%~dpa%%~na.zip" %%a
: -----8<-----
: 2. 新增一个档案 取名随便, 副档名为 VBS (这边假设为 123.vbs)
: 并放置在与上面那个批次档同一层位置
: -----8<----- (档案内容, 请将以下三行接成一行)
: CreateObject("WScript.Shell").Run """" & WScript.Arguments(0)
: & """ a -tzip """ & WScript.Arguments(1) & """ """
: & WScript.Arguments(2) & """", 0, false
: -----8<-----
: 完工。
抱歉,上一篇我忘了附上我搜寻到的版本
====================================
@echo off
set a=c:\program files\7-zip\7zG.exe
for %%a in (%*) do (
dir /a %%a|findstr "DIR" >nul 2>nul && (
"%a%" a -tzip "%%~dpa%%~na.zip" "%%~a\*"
) || (
"%a%" a -tzip "%%~dpa%%~na.zip" %%a
)
)
======================================
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.167.25.203