我下载了个 jar 压缩包简单试验了一下,测试通过。修改其中的jar压缩包名称即可。
'═════代═══码═══开═══始═════
jarpack = "37688.jar" 'jar压缩包名称
folder = "ABC" '文件夹名称
filespec = "txt.gio" '文件名称
mytext = "omyyyyyyyy"'要在文件中增加的一行内容
Const ForAppending = 8
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(filespec) Then
fso.DeleteFile(filespec) ’首先确保当前文件夹下不存在同名文件,防止解压出错
End If
Dim oShell
Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "WinRAR e -ap" &folder &" " &jarpack &" *.gio"
WScript.Sleep 2000
oShell.run "WinRAR d -ap" &folder &" " &jarpack &" *.gio"
WScript.Sleep 500
If Not fso.FileExists(filespec) Then
wscript.quit
End If
Set oFile = fSO.OpenTextFile(filespec, ForAppending)
oFile.WriteLine vbCRLF &mytext
oFile.Close
WScript.Sleep 2000
oShell.run "WinRAR m -ap" &folder &" " &jarpack &" " &filespec
Set oShell = Nothing
'═════代═══码═══结═══束═════
相关WinRAR命令及开关:
命令 E - 从压缩文件解压压缩,忽略乎逗路径。
命令 X - 以完整路径解压文件和文件夹。保存在压缩文件中的文件夹架构,将会完整的还原恢复。
命令 D - 从压缩文件中删除文件。
命令 M - 移动文件和文件夹到压缩文件。
命令 U - 更新压缩文件内文件。
开关 -R - 连同子文件夹。如果是用命令X解压的(连文件夹解压),在重新将整个文件夹放回压缩包去的时候,建议要加上这个开关。
开关 -ap<路径>- 设置压缩文件内的路径。
更多内容,敬请参考帮助 —— WinRAR.chm。
上述代码按照你的要求只解压文件,因此命令X与开关-R没敬顷宴有用到。
还有一种实现方式:解压后不删除jar压缩包中的txt.gio,而是使用命令U直接更新该文件,之后再用DeleteFile方法删除解压并修改后的txt.gio(与jar压缩包同级目录)。
最后提醒一下,使用脚本亮银前请先慎重备份好你的jar压缩包以防格式损坏。
当然,如果不小心损坏了,还可以用WinRAR的命令R来尝试修复。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)