中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 用自解压RAR包制作命令行工具
作者:
标题: 用自解压RAR包制作命令行工具 上一主题 | 下一主题
uiopuiop
中级用户





积分 400
发帖 211
注册 2007-9-30
状态 离线
『楼 主』:  用自解压RAR包制作命令行工具

RAR制作自解压的功能的确不错,我将几个文件捆绑在一起,自解压到%WINDIR%目录,但是如何让这个自解压EXE文件像命令行工具一样使用?

我在CMD中运行自解压TEST.EXE 后就另外跳个黑框,看上去就是CMD /K一样,如何在本窗口中执行呢?

[ Last edited by uiopuiop on 2009-8-7 at 00:31 ]

2009-8-7 00:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 2 楼』:  

E:\批处理\自解压>echo y|E:\批处理\自解压\1.exe -x


正在从 E:\批处理\自解压\1.exe 中解压

正在解压  新建 文本文档.txt                                         完成
全部成功

E:\批处理\自解压>


我的完全正常,没有像你说的弹黑窗,你打包的问题
高级自解压缩选项选择 控制台RAR自解压模块试试




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-8-7 13:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 3 楼』:  

貌似是解压出来运行一个p处理。。。
是新窗口

感觉,解压到temp然后
自己cd切过去,再调用bat……比较好。

压了包test.exe
参数都传递不了



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2009-8-7 13:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
uiopuiop
中级用户





积分 400
发帖 211
注册 2007-9-30
状态 离线
『第 4 楼』:  感谢2楼的提示,我用了COSOLE 模块

感谢2楼的提示,我用了COSOLE 模块
问题来了:
1. 尽管选了安静模式/覆盖文件,但如果文件已经存在就要回答下面问题。
xxx.bat already exists. Overwrite it ?

2. 选了加压后运行某BAT程序,但是并未运行。奇怪的很。

  Quote:
Originally posted by yishanju at 2009-8-7 01:45 PM:
E:\批处理\自解压>echo y|E:\批处理\自解压\1.exe -x


正在从 E:\批处理\自解压\1.exe 中解压

正在解压  新建 文本文档.txt                                       ...



2009-8-8 03:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 5 楼』:  

自winrar帮助文件,整理了一下!!方便大家查阅!!
自解压命令: Delete
Delete=<文件名>
在解压到目标文件夹之前删除指定的文件,允许数个 Delete 命令。
如果在此指定的文件被锁定而无法删除,自解压模块在解压前会试着将它临时重命名,并在 Windows 重新启动时删除它,这能不能成功则取决于 Windows 版本的差异。
例子:
Delete=winrar95.exe
Delete=rarlng.dll
自解压命令: License
License=<许可协议对话框标题>
{
许可协议文本 1
许可协议文本 2
...
}
当运行自解压文件时显示指定的作为软件许可协议文本。用户既可以接受它并继续解压或者拒绝它并退出。
许可可以包含HTML 或者纯文本格式。在以后的处理过程中,为了使字符串和对话框匹配,自解压模块将合并和重新格式化指定的字符串。所以如果你希望重新产生一个新的段落,你需要在它前面放一个空的字符串。
你可以使用 HTML 来控制颜色,字体和显示的格式。HTML 语法的描述可以在 The World Wide Web Consortium 站点找到。也可以使用网页编辑程序来产生 HTML 文本。
如果文本由数个字符串组成,自解压模块把‘}’字符作为文本的结束标记,所以你在你的文本的字符串的首个位置不应该使用此字符。如果你需要在字符串的开头使用‘}’字符,在它前面插入空格。
例子:
License=最终用户许可协议书
{
所有版权于 RAR 均属于作者所专有。
此程序是共享软件,任何人在测试期限内均可以使用此软件。
在测试期限过后,你“必须”注册。
}
自解压命令: Overwrite
Overwrite=[n]
如果[n]为 0,在覆盖文件之前用户将会被先询问。这是 覆盖 命令的默认动作,可以不需要指定。如果[n]不存在或是等于[1],文件将在没有确认的状况下全部覆盖。如果[n]等于[2],所有已存在的文件将不会被覆盖。
例子:
Overwrite=1
自解压命令: Path
Path=<路径>
设置默认的目标路径。路径的绝对使用起始点在不更改的情况下为<驱动器号>:,如果 <路径> 只包含了名称,它将会被附加到“Program Files”文件夹下,如果你希望关闭如此的作用,请从“.\”字符开始定义起始 <路径>。
例子:
a) 设置“Calc 3.05 beta”为文件夹名,位置在“Program Files”下,当成默认路径:
Path=Calc 3.05 beta
B) 设置“C:\Calc”当作默认路径:
Path=C:\Calc
c) 设置“Calc”在根目录下当作默认路径:
Path=.\Calc
自解压命令: Presetup
Presetup=<程序>
自解压在解压之前将试着运行 <程序>,在运行 <程序> 之前必须先指定目标文件夹。你可以使用此命令,比如说,当安装新版本于旧版本上面时,用以删除先前的程序版本。如果程序名包含空格,它必须包含在引号之内。
例子:
Presetup=uninstall.exe /clean
SFX 命令: SavePath
SavePath
这个命令允许自解压程序在注册表中存储用户输入的目标路径,并在自解压文件下一次运行时恢复相同的 Path。原来的 Path
命令内容被放在输入目标路径区域的列表下拉菜单中,所以用户可以在以前输入的和原始路径中选择。
当安装新版本或更新一些软件到同样的目录时,这个功能可能很便利。它允许只改变一次目标路径,而不需要每次都输入。
SavePath 命令只能和 Path 命令一起使用一次。
例子:
Path=Calc 3.05
SavePath
自解压命令: Setup
Setup=<程序>
在成功解压之后自解压将会试着运行 <程序>。在运行 <程序> 之前,包含已解压文件的文件夹将会设为当前文件夹
例子:
Setup=setup.exe
注意
1) 如果你在使用自解压运行 InstallShield setup.exe 有问题的话,请试着运行 “setup.exe /SMS” 来代替简洁的 “setup.exe”。此开关允许自解压检测安装程序的退出。
2) 全部在自解压命令行所指定的参数都会从 Setup=<程序> 命令提交给程序,自解压它自己则只认得 -s 开关,也就是强制缄默安装模式而不显示开始对话框。
3) 自解压模块在启动安装程序前设置 sfxname 环境变量。这个变量包含自解压模块的名字,所以安装程序可以在需要这样的信息时读取它。
自解压命令: shortcut
shortcut=<目标类型>,<源名>,<目标文件夹>,<描述>,<快捷方式名>
为解压的文件常见一个快捷方式。
目标类型 是一个一个字符宽的区域,可以有下列值:
D 在桌面创建快捷方式
S 在开始菜单创建快捷方式
P 在开始菜单/程序中创建快捷方式
T 在启动菜单中创建快捷方式
源名 是压缩文件名。
目标文件夹 是创建快捷方式的文件夹,如果它不存在,它将被自解压文件创建。
描述 是描述快捷方式的字符串。
快捷方式名 是由自解压创建的 .lnk (快捷方式)文件的文件名。
所有参数用逗号分隔。如果你需要添加逗号字符在参数内,镶入整个参数引用。如果你需要在字符串中插入一个引用标记,要输入两次引号。只有 目标类型 和 源名 是必需的,其它参数可选。
例子
在桌面创建在 WinRAR 文件夹中连接到 winrar.exe 的快捷方式,带有“WinRAR 可执行文件”的描述和“WinRAR 压缩文件管理器”的名称:
Shortcut=D,winrar.exe,WinRAR,“WinRAR 可执行文件”,“WinRAR 压缩文件管理器”
自解压命令: Silent
Silent[=参数]
开始解压时不显示开始对话框。
参数 可以是 1 或 2。如果 参数 是 1,开始解压对话框会完全隐藏,包含进程指示和文件名。如果 参数 是 2,则跳过开始解压的确认,但用户仍然可以看到压缩文件的解压进程。
例子:
Silent=2
自解压命令: TempMode
TempMode=[问题叙述][@窗口标题文本]
此命令强制自解压创建一个临时目录,将全部文件解压至此,然后开始运行 Setup 命令所指定的程序,并在完成 Setup 程序之后将临时目录中的内容全部清除。当运行这些操作时,自解压会自动设置为 缄默模式。如果 TempMode 命令存在的话,叙述中将有 Setup 命令且不得使用 path 命令。
TempMode 命令可以有字符串参数的选项,在解压之前可用以定义问题和问题的标题。这样的例子,仅在当用户选择了“是” 按钮时才会开始解压。
例子:
a) TempMode
B) TempMode=你希望继续安装 Calculator 3.05 吗?, Calculator 安装程序
自解压命令: Text
此命令支持两种语法版本:
a)
Text=<字符串>
B)
Text
{
字符串 1
字符串 2
...
}
它在自解压模块的输出窗口添加指定纯文本或HTML字符串。当自解压模块第一次遇到 Text 命令,在添加<字符串>前,它重设这个窗口默认内容。其后的命令追加<字符串>到已经存在的文本后。
依赖于使用的语法,这个命令可以一次添加一个或者数个字符串。
对于纯文本的过程中,为了使字符串和对话框匹配,自解压模块将合并和重新格式化指定的字符串。所以如果你希望重新产生一个新的段落,你需要在它前面放一个空的字符串。
你可以使用 HTML 来控制颜色,字体和显示的格式。HTML 语法的描述可以在 The World Wide Web Consortium 站点找到。也可以使用网页编辑程序来产生 HTML 文本。
如果文本由数个字符串组成,自解压模块把‘}’字符作为文本的结束标记,所以你在你的文本的字符串的首个位置不应该使用此字符。如果你需要在字符串的开头使用‘}’字符,在它前面插入空格。
例子:
a) 添加单个字符串到对话框窗口
Text=这是我的新程序
B) 添加指定文本到对话框窗口“Text
{
此程序最有趣的特性是:
- 支持 Windows 剪贴板;
- 每一个处理的文件大小最大为 10KB;
}
自解压命令: Title
Title=<标题>
设置自解压的窗口标题。
例子:
Title==Calculator,版本 3.05
-----------------------
无提示解压~覆盖解压示例
Silent=1
Path=D:\网络游戏\qq
Setup=D:\网络游戏\qq\qq.exe
Overwrite=1




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-8-8 15:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复
uiopuiop
中级用户





积分 400
发帖 211
注册 2007-9-30
状态 离线
『第 6 楼』:  

如何让自解压包里的批处理运行后显示在当前的CMD 窗口里呢? 并不要求传参数,只要求能像个命令行工具一样执行就可以了。

另外,虽然选了安静模式,隐藏所有,但是还是显示解压过程。

[ Last edited by uiopuiop on 2009-8-8 at 23:41 ]

2009-8-8 23:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: