加载中...
avatar

批量解压子目录下包含密码的压缩包
1
2
3
4
5
6
7
8
9
10
11
12
13
@echo off
echo by Orange_ysen
echo 正在批量自动解压,请稍等......
::解压软件的根目录,根据实际情况自行修改
set rar="c:\Program Files\Winrar\rar.exe"

::压缩包的子目录,根据实际情况自行修改
set srcdir="."

::-p后面跟密码 没有密码把-p删掉
for /r %srcdir% %%i in (*.rar *.zip) do %rar% x -y -pbyOrange_ysen "%%i" "%%~dpi" && del "%%i">nul
echo 操作完成......
pause

winrar压缩和解压的cmd命令

压缩文件命令:

"c:\Program Files\WinRAR\Rar.exe" a -k -r -s -m1 d:\web.rar d:\web\

解压文件命令:

"c:\Program Files\WinRAR\Rar.exe" x -t -o-p d:\web.rar d:\web\

–压缩参数说明:
a 添加文件到压缩文件中
-k 锁定压缩文件
-s产生固体存档,这样可以增大压缩比
-r包括子目录
-m1 设置压缩比
-m0 存储 添加到压缩文件时不压缩文件。
-m1 最快 使用最快方式(低压缩)
-m2 较快 使用快速压缩方式
-m3 标准 使用标准(默认)压缩方式
-m4 较好 使用较好压缩方式(较好压缩,但是慢)
-m5 最好 使用最大压缩方式(最好的压缩,但是最慢)

-ep 从名称中排除路径
-ep1从名称中排除基本目录 我用它来压缩只是最终目录中的文件,在解压后不包括E:\wwwroot\Web\ 这样的路径.

–解压参数说明:

命令 E - 从压缩文件解压压缩,忽略路径
命令 X - 以完整路径名称从压缩文件解压压缩
开关 -O[+|-] - 设置覆盖模式
这个开关可以在解压和更新压缩文件时使用。下列模式可用:
-o 覆盖前询问(解压文件时默认)
-o+ 覆盖所有(更新压缩文件时默认);
-o- 跳过已存在的文件。

WinRAR <命令> -<开关1> -<开关N> <压缩文件> <文件...> <@列表文件...> <解压路径\>
命令 要 WinRAR 运行的字符组合代表功能
开关 切换操作指定类型,压缩强度,压缩文件类型,等等的定义。
压缩文件 要处理的压缩文件名。
文件 要处理的文件名。
列表文件 列表文件是包含要处理文件名称的纯文本。文件名应该在第一卷启动。可以在列表文件中使用//字符后添加注释。例如,你可以包含两列字符串创建 backup.lst:c:\work\doc*.txt //备份文本文档 c:\work\image*.bmp //备份图片c:\work\misc并接着运行: winrar a backup @backup.lst你可以在命令行中同时指定普通的文件名和列表文件名。
解压路径 只与命令 e 和 x ,搭配使用。指出解压文件添加的位置。如果文件夹不存在时,会自动创建。
注意事项

1) 如果未指定 文件 或是 列表文件 时,WinRAR 将会以缺省的 . 运行全部的文件;
2) 如果未指定压缩文件扩展名时,WinRAR 将会使用在 压缩配置 中选定的默认压缩文件格式。但你可以指定 .RAR 或 .ZIP 扩展名来替换它们;
3) 在命令行所输入的开关会替换相同的配置设置值;
4) 在命令 c、e、s、t、rr、k 和 x 可在压缩文件名中使用通配符。如此可以用单个的命令来进行超过一个以上的压缩文件,除此之外,如果你指定 -r 开关于这些命令时,它们将会搜索在子文件夹中的压缩文件;
5) 某些命令和开关只应用在 RAR 压缩文件,有些则在 RAR 和 ZIP 都可使用,而某些则可应用在全部的压缩文件格式。这一些都得看压缩文件格式所提供的特性而定;
6) 命令和开关的大小写是相同意思的,你可以用大写或者小写来下命令均可。

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
C:
cd C:\Program Files\WinRAR
Rar.exe a -ep1 -r -s -m1 D:\DataAutoBackup\App\wbweb%date:~0,4%%date:~5,2%%date:~8,2%.rar D:\wapApps\webdir\

echo wscript.echo dateadd("d",-7,date) >%tmp%\tmp.vbs
for /f "tokens=1,2,3,4* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do (
set y=%%i
set m=%%j
set d=%%k
)
if %m% LSS 12 set m=0%m%
if %d% LSS 12 set d=0%d%
SET nowdate=%y%-%m%-%d%

del D:\DataAutoBackup\App\wbweb%y%%m%%d%.rar
文章作者: 蕾米亚
文章链接: http://omimo.ga/2020/4a7a89bb.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 彭彭和丁满
打赏
  • 微信
    微信
  • 支付寶
    支付寶

评论