中国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程序,但是并未运行。奇怪的很。
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
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: