原文 NSIS:IfFileExists+Goto实现简单跳转
在用户手册中有相关示例,但也许有的同学没有发现,那么我再发一个,仅供入门学习参考。
IfFileExists
要检测的文件 文件存在时跳转的标记 [文件不存在时跳转的标记]
检测 "要检测的文件" 是否存在(可以用通配符,或目录),并当文件存在时跳转到 "文件存在时跳转" ,否则跳转到"文件不存在时跳转" 。
Goto
要跳转的标记 | +偏移| -偏移| 用户变量(目标地址)
如果指定了标记,则跳转到“要跳转的标记”。
如果指定了 "+偏移" 或 "-偏移" ,跳转会根据偏移指令相对的跳转。 Goto +1 跳转到下一条指令,Goto -1 跳转到上一条指令,等等。
如果指定了用户变量,则跳转到绝对地址(通常你可以从一个函数,比如 GetLabelAddress)。编译器标记命令和 SectionIn 不是指令,所以跳转对它们无效。
08 |
IfFileExists $WINDIR\notepad1.exe 0 +5 ;不存在则向下跳转到第5行 |
09 |
MessageBox MB_OK "1有记事本" |
13 |
MessageBox MB_OK "5没记事本" |
14 |
Goto +2 ;向下跳转到第2行,也就是7这一行 |
|