当前位置: > 部署 >

NSIS:IfFileExists+Goto实现简单跳转

  • 部署
  • 2014-03-14 22:41

在用户手册中有相关示例,但也许有的同学没有发现,那么我再发一个,仅供入门学习参考。

 

IfFileExists
要检测的文件 文件存在时跳转的标记 [文件不存在时跳转的标记]
检测 "要检测的文件" 是否存在(可以用通配符,或目录),并当文件存在时跳转到 "文件存在时跳转" ,否则跳转到"文件不存在时跳转" 。
 
Goto
要跳转的标记 | +偏移| -偏移| 用户变量(目标地址)
如果指定了标记,则跳转到“要跳转的标记”。
如果指定了 "+偏移" 或 "-偏移" ,跳转会根据偏移指令相对的跳转。 Goto +1 跳转到下一条指令,Goto -1 跳转到上一条指令,等等。
如果指定了用户变量,则跳转到绝对地址(通常你可以从一个函数,比如 GetLabelAddress)。编译器标记命令和 SectionIn 不是指令,所以跳转对它们无效。
 
Name "跳转示例"
Caption "$(^Name)"
OutFile "跳转.exe"
SilentInstall silent
XPStyle on

Section
  IfFileExists $WINDIR\notepad1.exe 0 +5  ;不存在则向下跳转到第5行
  MessageBox MB_OK "1有记事本"
  MessageBox MB_OK "2"
  MessageBox MB_OK "3"
  MessageBox MB_OK "4"
  MessageBox MB_OK "5没记事本"
  Goto +2  ;向下跳转到第2行,也就是7这一行
  MessageBox MB_OK "6"
  MessageBox MB_OK "7"
  MessageBox MB_OK "8"
  MessageBox MB_OK "9"
SectionEnd

 

猜你喜欢

最新评论

说点什么吧
  • 全部评论(0