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

QQ群:1222386
> 资讯中心 >> 建站技术 >>正文
asp在线压缩代码
2020-10-15 0
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 搞定
全部搞定


 

成品站
购买流程
  • 注册会员
  • 选择网站模板
  • 免费开通试用
  • 自助绑定域名
  • 付款转正
  • 提交备案
  • 域名生效
  • 网站正式上线
  • 分站:北京 上海 广州 深圳 南京 杭州 合肥 网站建设 芜湖 安庆 马鞍山 淮南 宿州 淮北 阜阳 徐州 睢宁 丰县 网站制作 沛县 新沂 宿迁 连云港 苏州 盐城 常州 无锡 扬州 郑州 网页设计 开封 洛阳 西安 济南 日照 枣庄 石家庄 沈阳 吉林 大庆 网络公司 黑龙江 海口 南宁 长沙 成都 桂林 太原 做网站 甘肃 云南 内蒙 拉萨 香港
    扫描关注微信

    扫描加微信

    13852154923

    0516-66628816

    工作日 9:00-12:00 13:30-18:00
    周六及部分节假日提供值班服务
    2186398
    群:1222386
    Copyright@2003-2020 亿优内容管理系统版权所有 Powered by EUCMS-v6.2.1 | 网站地图 苏ICP备19019550号