上一頁 | 目錄 | 下一頁

4.1 腳本檔案格式

一個 NSIS 腳本檔案 (.nsi) 就是一個包含了腳本代碼的文字檔案。

命令

命令行為 命令 [參數] 這樣的格式。

File "我的檔案"

註釋

以 ; 或 # 開始的行為註釋。你可以在命令後面新增註釋。你也可以使用 C 規範的註釋來註釋一行或多行。

; 註釋
# 註釋

/*
註釋
註釋
*/

File "我的檔案" ; 註釋

如果參數需要由 ; 或 # 開頭,你可以用雙引號把它括起來。

插件

要調用一個插件,使用 插件::命令 [參數] 。更多的訊息請觀看 插件 DLL

nsExec::Exec "我的檔案"

數字

對於數字參數,使用十進制(數字)或十六進制(以 0x 開頭的,比如: 0x01235AB),或八進制(以 0 開頭且無 x)。

顏色被設定為十六進制 RGB 形式,像 HTML 那樣但是沒有 # 開頭。

IntCmp 1 0x1 lbl_equal

SetCtlColors $HWND CCCCCC

字串

要使用一個包含空格的字串,需要用引號括起來:

MessageBox MB_OK "Hi 各位!"

引號僅有的作用就是當他們開始時包含一個參數。他們可以是單引號、雙引號或向後的單引號。

你可以使用 $\ 來跳過引號的解析:

MessageBox MB_OK "I'll be happy" ; 把一個 ' 放在字串裡
MessageBox MB_OK 'And he said to me "Hi there!"' ; 把一個 " 放在字串裡
MessageBox MB_OK `And he said to me "I'll be fucked!"` ; 這裡把 ' 和 " 都放到了字串裡
MessageBox MB_OK "$\"A quote from a wise man$\" said the wise man" ; 這裡演示了跳過引號的解析

要在字串裡使用Enter、換行、Tab 等,請使用 $\r, $\n, $\t 等。更多訊息...

變量

變量以 $ 開頭。用戶變量應該 (不是必須) 事先被聲明並且區分大小寫。

Var MYVAR

StrCpy $MYVAR "變量值"

更多的訊息...

長命令

要把命令擴充為多行,需要在行尾使用反斜槓 (\) ,下一行會被自動連接到上一行的尾部。例如:

CreateShortCut "$SMPROGRAMS\NSIS\ZIP2EXE project workspace.lnk" \
    "$INSTDIR\source\zip2exe\zip2exe.dsw"

MessageBox MB_YESNO|MB_ICONQUESTION \
    "Do you want to remove all files in the folder? \
    (If you have anything you created that you want \
     to keep, click No)" \
    IDNO NoRemoveLabel

配置檔案

如果在 makensis.exe 同目錄下存在 nsisconf.nsh,那麼它裡面的代碼預設將會被包含在任何腳本裡(除非你使用了 /NOCONFIG 命令參數)。

上一頁 | 目錄 | 下一頁