常用路径
%HOMEPATH% 相当于 C:\Documents and Settings\用户目录
%APPDATA% 相当于 C:\Documents and Settings\用户目录\Application Data
关于winrar自解压创建快捷方式的问题
最近帮朋友封装一款产品,想rar自解压后直接创建快捷方式。结果总是创建不成功,细细研究原来是描述出了问题…
其中源文件名部分要包含完整的文件路径,如果只是写一个文件名就大错特错了。
我犯的错误就是只写了一个文件名,结果把路径放到了“目标文件夹”里了,自然创建不成功。
后来发现:
“目标文件夹”是指你要把快捷方式放到哪里,比如选择“开始”或者“启动”后,也可以通过此选项来再一个特定目录内创建快捷方式。
如果选择了“桌面”同时指定了文件夹,那么会在桌面的基础上继续创建文件夹。
指定文件夹不可以用相对路径,如果使用了“./”那么生成的文件夹也是会以“.”来命名。
在写“源文件名”时注意:
此处内容是以解压的文件夹为基础的。比如解压到E盘,此处写的是“THIS/IS/PATH/FILE.exe”,那么系统会在
E:/THIS/IS/PATH/FILE.exe路径下去寻找该文件。
路径解决
参考一下这个文章吧,里面说明的很清楚了
%SystemDrive%
操作系统所在的分区号。如 C:
%SystemRoot%
操作系统根目录。如 C:\WINDOWS
%windir%
操作系统根目录。如 C:\WINDOWS
%ALLUSERSPROFILE%
相当于 C:\Documents and Settings\All Users
%APPDATA%
相当于 C:\Documents and Settings\用户目录\Application Data
%ProgramFiles%
相当于 C:\Program Files
%CommonProgramFiles%
相当于 C:\Program Files\Common Files
%HOMEDRIVE%
操作系统所在的分区号。如:C:
%HOMEPATH%
相当于 \Documents and Settings\用户目录
%USERPROFILE%
相当于 C:\Documents and Settings\用户目录
有了上面这些变量值,我们就好办了,几乎可以向系统的任何地方拷贝文件了。
比如:
字体目录 %WINDIR%\FONTS
帮助目录 %WINDIR%\Help
输入法目录 %WINDIR%\IME
桌面 %USERPROFILE%\桌面
右键菜单“发送到” %USERPROFILE%\SendTo
收藏夹 %USERPROFILE%\Favorites
快速启动 %APPDATA%\Microsoft\Internet Explorer\Quick Launch
「开始」菜单 %USERPROFILE%\「开始」菜单
……
当前系统盘符%systemdrive%或%HOMEDRIVE%C:\
当前系统目录%systemroot%或%Windir%C:\WINDOWS
当前用户文件夹%UserProfile%或%HOMEPATH%C:\Documents and Settings\Administrator
所有用户文件夹%AllUsersProfile%C:\Documents and Settings\All Users
临时文件夹1%temp%C:\Documents and Settings\Administrator\Local Settings\Temp
临时文件夹2%SystemRoot%\TEMPC:\WINDOWS\Temp
程序文件夹%ProgramFiles%C:\Program Files
还有:
%WINDIR%\SYSTEM32\config
%ProgramFiles%\Adobe
%CommonProgramFiles%\Macromedia
……等等。所以,用好系统的环境变量, WINRAR 的自解压功能就如虎添翼了。
==========================================================================
Title
设置自解压的窗口标题。
Title=标题
Delete
在解压到目标文件夹之前删除指定的文件,允许数个 Delete 命令。
Delete=文件名
License
当运行自解压文件时显示指定的作为软件许可协议文本。用户既可以接受它并继续解压或者拒绝它并退出。(可以使用 HTML )
License=许可协议对话框标题
{
许可协议文本 1
许可协议文本 2
…
}
Overwrite
如果[n]为 0,在覆盖文件之前用户将会被先询问。这是 覆盖 命令的默认动作,可以不需要指定。如果[n]不存在或是等于[1],文件将在没有确认的状况下全部覆盖。如果[n]等于[2],所有已存在的文件将不会被覆盖。
Overwrite=n
Silent
开始解压时不显示开始对话框。
参数 可以是 1 或 2。如果 参数 是 1,开始解压对话框会完全隐藏,包含进程指示和文件名。如果 参数 是 2,则跳过开始解压的确认,但用户仍然可以看到压缩文件的解压进程。
Silent=参数
Path
设置默认的目标路径。路径的绝对使用起始点在不更改的情况下为:,如果 只包含了名称,它将会被附加到“Program Files”文件夹下,如果你希望关闭如此的作用,请从“.\”字符开始定义起始 。
Path=路径
Presetup
自解压在解压之前将试着运行 ,在运行 之前必须先指定目标文件夹。你可以使用此命令,比如说,当安装新版本于旧版本上面时,用以删除先前的程序版本。如果程序名包含空格,它必须包含在引号之内。
Presetup=程序
SavePath
这个命令允许自解压程序在注册表中存储用户输入的目标路径,并在自解压文件下一次运行时恢复相同的 Path。原来的 Path
命令内容被放在输入目标路径区域的列表下拉菜单中,所以用户可以在以前输入的和原始路径中选择。
当安装新版本或更新一些软件到同样的目录时,这个功能可能很便利。它允许只改变一次目标路径,而不需要每次都输入。
SavePath 命令只能和 Path 命令一起使用一次。
Setup
在成功解压之后自解压将会试着运行 。在运行 之前,包含已解压文件的文件夹将会设为当前文件夹
Setup=程序
注意
1) 如果你在使用自解压运行 InstallShield setup.exe 有问题的话,请试着运行 “setup.exe /SMS” 来代替简洁的 “setup.exe”。此开关允许自解压检测安装程序的退出。
2) 全部在自解压命令行所指定的参数都会从 Setup= 命令提交给程序,自解压它自己则只认得 -s 开关,也就是强制缄默安装模式而不显示开始对话框。
TempMode
此命令强制自解压创建一个临时目录,将全部文件解压至此,然后开始运行 Setup 命令所指定的程序,并在完成 Setup 程序之后将临时目录中的内容全部清除。当运行这些操作时,自解压会自动设置为 缄默模式。如果 TempMode 命令存在的话,叙述中将有 Setup 命令且不得使用 path 命令。
TempMode 命令可以有字符串参数的选项,在解压之前可用以定义问题和问题的标题。这样的例子,仅在当用户选择了“是” 按钮时才会开始解压。
a)TempMode
b)TempMode=问题叙述,窗口标题文本
Text
它在自解压模块的输出窗口添加指定纯文本或HTML字符串。当自解压模块第一次遇到 Text 命令,在添加前,它重设这个窗口默认内容。其后的命令追加到已经存在的文本后。
依赖于使用的语法,这个命令可以一次添加一个或者数个字符串。
对于纯文本的过程中,为了使字符串和对话框匹配,自解压模块将合并和重新格式化指定的字符串。所以如果你希望重新产生一个新的段落,你需要在它前面放一个空的字符串。(可以使用 HTML )
a)
Text=字符串
b)
Text
{
字符串 1
字符串 2
…
}
shortcut
解压时创建快捷方式
shortcut=目标类型,文件路径,目标文件夹,描述,快捷方式名
目标类型 是一个一个字符宽的区域,可以有下列值:
D 在桌面创建快捷方式
S 在开始菜单创建快捷方式
P 在开始菜单/程序中创建快捷方式
T 在启动菜单中