让老旧的ARJ软件在现行操作系统中焕发第二春的尝试:AutoARJ

缘起ARJ

我是1995年生人,按理讲应该和这种很古早的、只有命令行的软件毫无交集,毕竟等笔者出生之后能够操作电脑的时候,早都是Windows 98的世界啦(笑)。
但凡事都有例外,笔者的父亲是一位老师,在那个年代算得上是很早一批使用计算机的人,但那个时候个人PC是很贵的,因此,以职务之便,父亲偶尔会使用单位机房的电脑进行文档操作,而因为家庭的原因,我从小就是被父母带大的,因此,时年4岁的我就跟着父亲进入机房,我第一次接触电脑,就面对的是那些机房里面大屁股黑屏幕的DOS,毕竟装有Windows的电脑是抢不到的。现在想来,我直到现在都沉迷于那些命令行软件、沉迷于盘光盘、软盘这些早就被淘汰的旧设备,与其说是复古,更不如说是对童年的追忆吧。
同样的,ARJ在那个时代是很流行的压缩软件,对于软盘的适配其实比同时代的PKZIP做得更好,因此,直到现在,我个人在单位中,分发给同事的压缩软件格式都会首选ARJ,也不用担心兼容问题,因为主流的压缩软件都会支持ARJ格式的解压缩,至于生成是不可能的,这也就无意中帮助我完成了保密工作,毕竟同事们没有办法编辑ARJ格式,自然也就无法篡改我的文件了。

ARJ软件概述

ARJ(Archived by Robert Jung),是一个由Robert K. Jung所设计的高效率档案压缩工具。ARJ现在的版本是2.85(DOS版)与3.15(Windows版),只支援Intel的16-bit与32-bit的CPU。
ARJ的竞争对手是PKZIP,但由于ARJ被美国专利所保护,所以很快就不敌PKZIP。但ARJ当初有一个重要的创举,就是压缩档案到软盘时,可以自动分卷。这对于DOS时期透过BBS发布档案的人,是一个很方便的功能。
不过ARJ最大的问题,就是他的作者Robert K. Jung,这位作者到现在都沉迷于DOS时代的荣光,任你时代变迁,我自更新我的软件,图形界面?这辈子都不可能的(摊手)!而且软件的注册费用高昂,虽说不注册也能用,但是非注册版本每一次调用都需要等待45秒,着实是使用不便,不过还好,现在ARJSoftware在俄罗斯的开发组ARJSoftware Russia已经开源了ARJ,并且推出了开源版的ARJ,不仅支持Windows平台,还增加了对OS/2、Linux及Unix平台的支持,虽然还是没图形界面。。。
虽然市面上有三个能够外挂ARJ进行压缩的软件:ARJFloder、WinZip及ARJ98,但问题都很严重,ARJFloder开发者已经停止更新,且该软件不支持Win7以上的Windows;WinZip售价高昂,且其早就在WinZip12就放弃了外挂ARJ的支持,且这玩意儿总是出错且不支持Win7;至于ARJ98,那就算了,98美元的授权费用,最高只支持到Windows ME。。。
因此,我只好自己另辟蹊径,自己尝试解决问题,毕竟每一次压缩都要敲命令着实是有点费时间啊。。。

ARJ软件官网:ARJsoftware
ARJ开源网站:ARJsoftware Russia
自制的AutoARJ下载链接:AutoARJ V1.3

ARJ自动化压缩的实现

笔者不是学编程的出身,我大学学的是会计、金融及法学,哪个都和开发不搭边(笑),再加上自己长时间不用而生疏的Pascal及VB已经不再适应时代,自己也没有精力再去学习新的编程语言,因此,我只好退而求其次,选择批处理进行研究。
ARJ的功能开关有很多,虽然大部分也用不到,因此,我只挑选了几个功能进行编排,解压、压缩自然是要算上的,再加上自解压文件创建及注释添加,再算上一个加密,嗯,完美!
经过对ARJ命令行使用帮助的研究,结合拖放式操作设计,于是就有了如下的批处理代码:

for %%i in (%*) do "C:\AutoARJ\arj32.exe" a -jm "%%~ni.arj" %%i
for %%a in (%1) do echo %%~nxa\*.*>>C:\AutoARJ\SY
set "str=%~x1"
"C:\AutoARJ\arj32.exe" a -jm -r "%~n1.arj" @C:\AutoARJ\SY
del C:\AutoARJ\SY
for %%i in (%*) do "C:\AutoARJ\arj32.exe" a -g? -e "%%~ni.arj" %%i
for %%a in (%1) do echo %%~nxa\*.*>>C:\AutoARJ\SY
set "str=%~x1"
"C:\AutoARJ\arj32.exe" a -jm -g? -!@ -a1  "%~n1.arj" @C:\AutoARJ\SY
del C:\AutoARJ\SY
for %%i in (%*) do "C:\AutoARJ\arj32.exe" y -je %%i  
for %%i in (%*) do "C:\AutoARJ\arj32.exe" x -i -jyc -v %%i
for %%i in (%*) do "C:\AutoARJ\arj32.exe" x -i -jyc -v -g? %%i

稍微设计了一下界面和操作逻辑,生成批处理之后,就有了如下的界面(流风の回雪是我的网名):
让老旧的ARJ软件在现行操作系统中焕发第二春的尝试:AutoARJ_第1张图片经测试,该程序在Win7至Win11上完美运行,在这之后,我给它设计了图标,封装成了可执行文件,再用WinRAR制作好了安装程序和卸载程序。至此,我的目标完成。
制作好的AutoARJ在第三个链接中进行发布。
[1]: http://www.arjsoftware.com/
[2]: http://arj.sourceforge.net/
[3]: https://download.csdn.net/download/jesse1216/68767391

你可能感兴趣的:(ARJ,老旧压缩软件,命令行压缩软件回暖计划,小程序)