原文 NSIS:IfFileExists+Goto实现简单跳转

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

IfFileExists
要检测的文件 文件存在时跳转的标记 [文件不存在时跳转的标记]
检测 "要检测的文件" 是否存在(可以用通配符,或目录),并当文件存在时跳转到 "文件存在时跳转" ,否则跳转到"文件不存在时跳转" 。
 
Goto
要跳转的标记 | +偏移| -偏移| 用户变量(目标地址)
如果指定了标记,则跳转到“要跳转的标记”。
如果指定了 "+偏移" 或 "-偏移" ,跳转会根据偏移指令相对的跳转。 Goto +1 跳转到下一条指令,Goto -1 跳转到上一条指令,等等。
如果指定了用户变量,则跳转到绝对地址(通常你可以从一个函数,比如 GetLabelAddress)。编译器标记命令和 SectionIn 不是指令,所以跳转对它们无效。
 
01 Name "跳转示例"
02 Caption "$(^Name)"
03 OutFile "跳转.exe"
04 SilentInstall silent
05 XPStyle on
06  
07 Section
08   IfFileExists $WINDIR\notepad1.exe 0 +5  ;不存在则向下跳转到第5行
09   MessageBox MB_OK "1有记事本"
10   MessageBox MB_OK "2"
11   MessageBox MB_OK "3"
12   MessageBox MB_OK "4"
13   MessageBox MB_OK "5没记事本"
14   Goto +2  ;向下跳转到第2行,也就是7这一行
15   MessageBox MB_OK "6"
16   MessageBox MB_OK "7"
17   MessageBox MB_OK "8"
18   MessageBox MB_OK "9"
19 SectionEnd

NSIS:IfFileExists+Goto实现简单跳转的更多相关文章

  1. 简单跳转到微信分享,基于libWeiChatSDK 和简单的自定义UIActivityViewController

    一.自定义UIActivity: 如果想要自定义UIActivity必须知道UIActivityViewController.首先这个类主要是用于接受字符串,RUL类型和图片类型的数据用于分享和操作的 ...

  2. C语言 goto, return等跳转

    C语言 goto, return等跳转 Please don't fall into the trap of believing that I am terribly dogmatical about ...

  3. Android学习笔记(七)两个Fragment简单跳转示例

    在前两篇博文中分别介绍了Fragment得基础和Fragment的生命周期,然而说了这么多Fragment到底怎么用呢以及我们为什么要使用Fragment?本篇博文将主要探讨这两个问题,首先说下在AP ...

  4. PHP的简单跳转提示的实现

    在PHP开发中,尤其是MVC框架或者项目中,会碰到很多跳转情况,比如:登录成功或失败后的跳转等等. 以下以MVC框架开发中为基础,示例讲解: 在基础控制器类中:Conrtoller.class.php ...

  5. 06 、指令跳转:原来if...else就是goto

    写好的代码编译成指令之后,一般正常流程是一条一条的顺序执行的.但是在程序中总会用到if...else这样的条件判断语句.while和for循环语句,还有函数或者过程调用,所以遇到这些程序编译的指令时是 ...

  6. 跳转语句 break;continue; return; goto 区别用法

    C语言是按顺序执行语句的语言——一个接一个.即使它有条件语句或循环语句,程序的流程也是自上而下的.没有顺序流的随机跳转或跳转.但我们的程序是为了满足任何现实世界的需求,一个接一个地执行永远不会很直接. ...

  7. 跳过nsis Error强制运行程序

    NSIS编译的程序在运行之初,都会有一个程序完整性的自我检测,一旦检测到数据不完整,比如文件资源被篡改,下载过程中有数据丢失等情况,就会报错停止运行,也就是大名鼎鼎的nsis Error  ,其实想跳 ...

  8. NSIS 打包脚本基础

    简介 NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序.它提供了安装.卸载.系统设置.文件解压缩等功能.这如其名字所 ...

  9. 简单bat语法

    一.简单批处理内部命令简介 1.Echo 命令 打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置. 语法 echo [{on off}] [message] ...

随机推荐

  1. 2-07. 素因子分解(20) (ZJUPAT 数学)

    题目链接:http://pat.zju.edu.cn/contests/ds/2-07 给定某个正整数N,求其素因子分解结果,即给出其因式分解表达式 N = p1^k1 * p2^k2 *-*pm ^ ...

  2. hdu1520 (树形dp)

    hdu1520 http://acm.hdu.edu.cn/showproblem.php?pid=1520 题意是给定一棵树,每个结点有一个价值,要我们选择任意个结点使得总价值最大,规则是如果父亲结 ...

  3. 如何使用 yum 安装/更新/移除 软件

    如何使用 yum 安装/更新/移除 软件 一. 建立仓库(repository)和源 a) 拷贝所以相关rpm包到某个目录 b) 执行createrepo  /目录/目录/目录/目录   注意:b)中 ...

  4. AndroidUI的组成部分GridView

    java 代码例如以下(简单的知识点我会以凝视的形式解说): package com.gc.gridviewdemo; /** * @author Android将军 */ /** * 知识点解说: ...

  5. Jenkins(两)

    官网:https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins 我的这篇文章不过简单的依据上文,介绍Jenkins提供了哪些功能.详细大家还是要 ...

  6. 看PHP在内部迭代的动作

    以下我们来了解怎样实现一个自己定义的迭代器,然后再開始慢慢理解迭代器的内部工作原理.先来看一个官方的样例: <? php class myIterator implements Iterator ...

  7. 3D MAX脚本教程1

    本文转载自http://jiurong995294.blog.163.com/blog/static/195133243201192531546490/ 方便以后须要时候使用 为什么要学习3D MAX ...

  8. List Set Map用法和区别

    List,Set,Map是否继承自Collection接口? 答:List,Set是,Map不是.如图: Collection ├List │├LinkedList │├ArrayList │└Vec ...

  9. [Windows Phone]解锁、注册Windows Phone实体手机为开发机(Windows 8)

    原文:[Windows Phone]解锁.注册Windows Phone实体手机为开发机(Windows 8) 前言 ? ? 最近要开发Windows Phone(以下简称WP)的手机游戏,由於使用模 ...

  10. MyBatis学习门户网站(一)

    需要jar包:mybatis-3.x.x.jar .假设需要和spring综合,此外,我们需要增加相关的包 1:看到项目文件夹 不要在意红色 2:依照步骤: 1:增加jar包 2:创建数据源(conf ...