欢迎加入EUCMS官方QQ交流群,与更多EUCMS用户一起讨论,共同发财!

QQ群:1222386
> 模板库 >>正文
asp在线压缩代码
2020-10-15 640 收藏
VFP中压缩bai工具duWinRAR的调用
-------------------------------------------
压缩:
DELETE FILE bak.jhz
RUN /N7 WinRAR.exe a -ibck -r -k -o+ -y -hp123 -p123 bak.jhz dbf\*.*

RUN /N7 WinRAR.exe a -ibck -r -o+ -y -hp123 -p123 bak.jhz dbf\*.*
解压:
RUN /N7 WinRAR.exe x -ibck -r -k -o+ -y -hp123 -p123 bak.jhz dbf\*.*

RUN /N7 WinRAR.exe x -ibck -r -o+ -y -hp123 -p123 bak.jhz dbf\*.*
参数说明:
a:添加到档案文zhi件中
x:从档案文件中全路dao径释放文件
-ibck:后台运行WinRAR
-r:连同子文件夹操作
-k:锁定档案文件
-o+:覆盖已经存在的文件
-y:对所有询问均回应为“是”
-hp123:加密文件数据和文件头,密码为123
-p123:设置密码为123,此密码上一个密码可以不一样
bak.jhz:压缩后的文件名或要解压的文件(.jhz为自定义扩展名)
dbf\*.*:要压缩的文件或要解压到的文件位置
更详细参数请参考:WinRAR中帮助文件
--------------------------------------------------
  在实际应用中,如果Foxpro管理的数据库,表文件较多,占用空间较大,并且其长度又具有不确定性或不定增长性(如:明细帐),这样,一个表的字节数就可能超过一张软盘的容量,而Foxpro的拷贝命令又不能支持自动分卷连续备份,因此,这就给数据库的软盘备份与恢复带来一定的困难。如果能在Foxpro环境下,运用一种压缩算法,编写一个高效实用的压缩工具,那当然是最好的解决方案,遗憾的是笔者作过尝试却未获成功,在此,笔者采取了调用基于DOS的压缩工具软件ARJ.exe,实现了压缩分卷备份和分卷解压缩恢复的功能,现将具体实现方法概述如下,以供探讨。
一、定制ARJ运行环境
  在Foxpro for Windows环境中,提供了运行外部命令或程序的命令:Run。如果Run中指定的程序没有扩展名,Foxpro for Windows首先查找指定名称的程序信息文件(后缀为PIF)。PIF允许在Windows下运行非Windows程序,并且可以指定其运行参数:程序是在窗口中运行还是全屏幕运行以及内存分配等。如果找到了相应的PIF,则使用其中指定的参数运行PIF中的程序;当找不到PIF时,就使用安装在Foxpro for Windows目录中的PIF文件FOXRUN.PIF。FOXRUN.PIF对程序在Windows中运行做了一些设置。因此,我们可以依据该文件,定制自己的PIF文件,不妨命名为:Arj_backup.pif。假设工作目录为:C:\VfFP50\DATA,备分批处理文件为:d_backup.bat,恢复批处理文件为:d_restore.bat ,ARJ.EXE也已拷贝至该目录下。
  ● copy file c:\vfp50\foxrun.pif to arj_backup.pif
  ● modi file d_backup.bat (使其包含以下语句)
   cd c:\v fp50\data
   arjva -va -a -y bak_data
   exit(退出批处理操作)
  ●modi file d_restore.bat (使其包含以下语句)
   cd c:\vfp50\data
   arj x -va -a -y bak_data
   exit
  ARJ参数说明:
  -va:使用A驱软盘上所有自由空间执行压缩任务。可以将a改为1440或1200,则以1.44M或1.22M大小分割备份文件。
  -a:对所有属性的文件都能进行处理,包括隐含文件。
  -y:对所有程序提问,都默认按肯定回答,直接执行。
  -x:解压释放压缩文件。
  Arj_backup.PIF 配置方法说明:
  修改PIF配置的进入方法有两种,一种方法是:当激活Arj_backup,出现运行窗口时,用鼠标右键单击窗口或屏幕底部对应任务栏,选择属性按钮,进入配置页面。另一种方法是:用“资源管理器”找到对应的PIF文件,单击鼠标右键,选择属性按钮,进入配置页面进行设置。由于配置内容较多,在此不能一一详述,仅就运行本程序可能涉及的几项参数做一介绍。
  ● 程序:
  1.第一行为运行窗口标示,可设定为:正在进行数据文件压缩……
  2.命令行:Command.com(DOS命令处理程序,不需改动)
  3.工作目录:C:\vfp50\data(备份目录)
  4.批处理文件:D_backup.bat
  5.快捷键:
  6.运行:小窗口
  7.高级属性设置:选定“建议使用MS—DOS方式”复选框,此项配置的功能是:在运行此程序时,Windows检测该程序是否要在MS-DOS方式下运行。如果是这样,Windows将运行向导程序来安装自定义图标以便运行此程序。否则,如果程序需要在MS-DOS方式下运行,但是未复选此项,该程序可能无法正常运行。
  8.更改图标:可以为此运行窗口任意选定图标。
  9.选定“退出时关闭”复选框,此项配置的功能是:指定程序执行完后是否关团MS-DOS窗口。如果未复选 此框,MS-DOS窗口将保持打开状态。
  ● 屏幕:
  窗口:选定“在启动时恢复设置”复选框,此项配置的功能是:退出此程序时保存窗口设置,包括窗口的大小、位置和字体。否则,运行窗口不能被任意托放,影响整体界面布局。
  ● 杂项:
  鼠标:“独占方式”复选框,此项配置的功能是:单击此处可以使该程序独占鼠标。在该程序运行期间,鼠标指针被隐藏,鼠标功能失效,退出后,鼠标功能自动恢复正常。
  与此类似,Arj_restore.PIF的配置方法亦可如法炮制,只需将“程序”中的“批处理文件”改为:D_restore.bat即可。
  PIF运行窗口的位置、大小,可以手工托放、调整,如果想隐藏该窗口,可以将它缩至最小,再拖至屏幕右下角。
  上述配置设定完成以后,按“确定”按钮退出配置页面。此时,ARJ运行环境定制完成。
二、Foxpro程序调用
  1.提供软盘备份、硬盘备份(备份到硬盘C:\backup目录下)两种方式。
  2.软盘备份前,先在硬盘调用ARJ压缩分卷,并创建一个文本文件(date_backup)用于记录备份时间、备份文件数量、所需软盘数量,以便用户据此判断是否压缩成功并进行软盘备份;恢复时,也首先打开软盘上的该文本,显示备份时间、备份文件数量、所需软盘数量,由用户据此确定是否进行软盘恢复。备份或恢复时,如果中途某张盘出现故障,或顺序错误,均允许“重试?”。
  3.软盘恢复时,检查每张盘的备份时间是否与上张盘一致,并检查其装入顺序是否正确。确保备份数据的时效性、完整性。
  4.软盘恢复时,先在非工作目录下进行,全部工作完成并确认无误后,再移入工作目录,这样,可以避免数据库的不完全覆盖而造成的损坏。
  5.出错时激活故障处理例程err_proc,置出错标志,退出处理。
---------------------------------------------------------------命令S为自释放格式如:

RUN /N7 WinRAR.exe S -ibck -r -k -o+ -y bak.EXE dbf\*.*





压缩目录test及其子目bai录的文件内容du
RAR A test.rar test
删除压缩包中的*.txt文件
RAR d test.rar *.txt刷新压zhi缩包中的文件,即添加已经存dao在于压缩包中但更新的文件
rar f test.rar test更新压缩包中的文件,即添加已经存在于压缩包中但更新的文件以及新文件
rar u test.rar test移动文件到压缩包,即添加文件到压缩包后再删除被压缩的文件
rar m test.rar test –r添加全部 *.exe 文件到压缩文件,但排除有 a或b 开头名称的文件
RAR a test *.exe -xf*.* -xb*.*加密码进行压缩
RAR A test.rar test –p123 –r。注意密码是大小写敏感的。在图形界面下打开带密码的压缩文件,会看到*号标记。按名字排序、以简要方式列表显示压缩包文件
Rar l test.rar锁定压缩包,即防止未来对压缩包的任何修改
无对应命令
rar k test.rar创建360kb大小的分卷压缩包
rar a –v360 test带子目录信息解压缩文件
rar x test -r不带子目录信息解压缩文件
rar e test解压缩文件到指定目录,如果目录不存在,自动创建
rar x test newfolder解压缩文件并确认覆盖文件
rar x test –y解压缩特定文件
rar x test *.txt






WinRAR的所有bai命令如下,需要du注意的是,在cmd窗口zhi下必须先进入WinRAR的安装目录,比方说daoC:\Program Files\WinRAR,然后再运行rar.exe(winrar.exe是Windows环境下的)。
C:\Program Files\WinRAR> rar
RAR 3.61 版权 (C) 1993-2006 ************** 14 九月 2006
已注册给 *******************
用法: rar <命令> - <开关 1> - <开关 N> <压缩文件> <文件...>
<@列表文件...> <解压路径\>
<命令>
a 添加文件到压缩文件
c 添加压缩文件注释
cf 添加文件注释
ch 改变压缩文件参数
cw 写入压缩文件注释到文件
d 删除压缩文件中的文件
e 解压压缩文件到当前目录
f 刷新压缩文件中的文件
i[参数]= <串> 在压缩文件中查找字符串
k 锁定压缩文件
l[t,b] 列出压缩文件[技术信息,简洁]
m[f] 移动到压缩文件[仅对文件]
p 打印文件到标准输出设备
r 修复压缩文件
rc 重建丢失的卷
rn 重命名压缩文件
rr[N] 添加数据恢复记录
rv[N] 创建恢复卷
s[名字|-] 转换压缩文件为自解压格式或转换回压缩文件
t 测试压缩文件
u 更新压缩文件中的文件
v[t,b] 详细列出压缩文件[技术信息,简洁]
x 用绝对路径解压文件
<开关>
- 停止扫描
ac 压缩或解压后清除存档属性
ad 添加压缩文件名到目标路径
ag[格式] 使用当前日期生成压缩文件名
ao 添加具有压缩属性的文件
ap <格式> 添加路径到压缩文件中
as 同步压缩文件内容
av 添加用户身份校验(仅注册版本可用)
av- 禁用用户身份校验
c- 禁用注释显示
cfg- 禁用读取配置
cl 名称转换为小写
cu 名称转换为大写
df 压缩后删除文件
dh 打开共享文件
ds 对固实压缩文件禁用名称排序
e[+] <属性> 设置文件排除和包括属性
ed 不添加空目录
en 不添加 "压缩文件结束 "标志
ep 从名称中排除路径
ep1 从名称中排除基本目录
ep2 展开为完整路径
ep3 扩展路径为包含盘符的完全路径
f 刷新文件
fcu[文件] 从 Unicode 文件读取压缩文件注释
hp[密码] 同时加密文件数据和文件头
id[c,d,p,q] 禁用消息
ieml[属性] 用 E-mail 发送压缩文件
ierr 发送所有消息到标准错误设备
ilog[名称] 把错误写到日志文件(只有注册版本可用)
inul 禁用所有消息
ioff 完成一个操作后关闭 PC 电源
isnd 启用声音
k 锁定压缩文件
kb 保留损坏的已解压文件
m <0..5> 设置压缩级别(0-存储...3-默认...5-最大)
mc <参数> 设置高级压缩参数
md <大小> 以KB为单位的字典大小(64,128,256,512,1024,2048,4096 or A-G)
ms[ext;ext] 指定存储的文件类型
mt <线程> 设置线程数
n <文件> 仅包含指定的文件
n@ 从标准输入设备读取文件名到包括
n@ <列表> 在指定的文件列表包括文件
o+ 覆盖已存在文件
o- 不覆盖已存在文件
oc 设置 NTFS 压缩属性
or 自动重命名文件
os 保存 NTFS 流
ow 保存或恢复文件所有者和组
p[密码] 设置密码
p- 不询问密码
r 递归子目录
r0 仅递归通配符名称的子目录
ri <P> [: <S> ] 设置优先级(0-默认,1-最小..15-最大)和以毫秒为单位的休眠时间
rr[N] 添加数据恢复记录
rv[N] 创建恢复卷
s[ <N> ,v[-],e] 创建固实压缩文件
s- 禁用固实压缩文件
sfx[名称] 创建自解压压缩文件
st[名称] 从标准输入设备读取数据(stdin)
sl <大小> 处理小于指定大小的文件
sm <大小> 处理超过指定大小的文件
t 压缩后测试文件
ta <日期> 添加日期 <日期> 后修改的文件,日期格式 YYYYMMDDHHMMSS
tb <日期> 添加日期 <日期> 前修改的文件,日期格式 YYYYMMDDHHMMSS
tk 保留原始压缩文件时间
tl 设置压缩文件时间为最新文件时间
tn <时间> 添加 <时间> 以后的文件
to <时间> 添加 <时间> 以前的文件
ts <m,c,a> [N] 保存或恢复文件时间(修改,创建,访问)
u 更新文件
v 自动检测创建卷的大小或者列出所有的卷
v <大小> [k,b] 创建卷大小= <大小> *1000 [*1024, *1]
vd 创建容量前清除磁盘内容
ver[n] 文件版本控制
vn 使用旧风格的卷命名方案
vp 每卷之前暂停
w <路径> 指定工作目录
x <文件> 排除指定的文件
x@ 从标准输入设备读取要排除的文件名
x@ <列表> 排除指定列表文件中的文件
y 假设对全部询问都回答是
z[文件] 从文件读取压缩文件注释
实例:
c:\>c:\Program Files\WinRAR\WinRAR.exe a -m5 -t d:\php.rar d:\php 将d:\php压缩到d:\php.rar rar a -r -va x:\abc.rar y:\abc 将y:\abc目录压缩成x:\abc.rar 附: dos命令行 ...
c:\>c:\Program Files\WinRAR\WinRAR.exe a -m5 -t d:\php.rar d:\php
将d:\php压缩到d:\php.rar
rar a -r -va x:\abc.rar y:\abc
将y:\abc目录压缩成x:\abc.rar
附:
dos命令行下解压文件
C:\Program Files\WinRAR>rar e d:\hack\new\ms08067.rar d:\hack\new\mysqlget\
正在从 d:\hack\new\ms08067.rar 中释放
正在创建 d:\hack\new\mysqlget 搞定
正在释放 d:\hack\new\mysqlget\ms08067.exe 搞定
全部搞定


 

你觉得这篇文章怎么样?

0 0
参与讨论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
成品站
购买流程
  • 注册会员
  • 选择网站模板
  • 免费开通试用
  • 自助绑定域名
  • 付款转正
  • 提交备案
  • 域名生效
  • 网站正式上线
  • 分站:
    扫描关注微信

    扫描加微信

    13852154923

    0516-66628816

    工作日 9:00-12:00 13:30-18:00
    周六及部分节假日提供值班服务
    2186398
    群:1222386
    做网站徐州网架厂家
    Copyright@2003-2024 徐州亿优网架钢结构工程有限公司版权所有 Powered by EUCMS-v6.3 | 网站地图 苏ICP备19019550号 苏公网安备32030202000952号