Alex的博客

本博客的文章均为原创,是本人从事行业多年来所遇见一些小问题的解决心得,希望可以帮助到大家!



使用rar在命令行(cmd)上打包目录

当你拥有运行CmdShell的权限之后,下一步,就是打包、下载他的整个Web目录,这里当然少不了必备的利器Winrar。
有些站点主机会安装Winrar,如果没有,上传一个rar.exe就好了,rar的详细命令可以在winrar的安装目录里"Rar.txt"文件中找到,或许你没有耐心的读下去,那这里就介绍简单的命令给大家:提供一个打包的例子,希望对大家能有点帮助。

例:把E:\wwwroot\Web\目录下的所有东西打包为web.rar放到E:\wwwroot\Web\目录下,以便下载

E:\RECYCLER\Rar.exe a -k -r -s -m1 E:\wwwroot\Web\web.rar E:\wwwroot\Web\

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

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

之后,你就会在Web目录下看到Web.rar文件了。是不是很简单啊~ ^_^
我用到的最终文件内容

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

浏览1789  评论0  Alex于 2016-6-27 10:04
发言