NSISI基本語法---編譯器指令
阿新 • • 發佈:2018-11-09
接下來的一些都是使用NSIS打包的時候常用的一些指令(或者說是,類似於程式碼中的“型別”)
1、File
作用:釋放檔案到當前輸出路徑。(使用中與 SetOutPath 配合使用,,一般直接給出指定的目錄即可)
常用引數:
/nonfatal 開關且當檔案未找到時使用警告來代替錯誤
/a 開關,則被新增的檔案的屬性將會保持
/r 開關,匹配的檔案將會在子目錄裡被遞迴的搜尋。如果目錄名匹配則所有包含的內容都會被遞迴新增,目錄結構也會被保持
/x 開關可以用來來排除檔案或目錄
[/nonfatal] [/a] ([/r] [/x file|wildcard [...]] (file|wildcard) [...] | /oname=file.dat infile.dat)
InstallDir "C:\Ma_Hong_Kai"
;……
SetOutPath $INSTDIR ; $INSTDIR--- 使用者定義的解壓路徑,和InstallDir配合使用
File "..\build\Win32\release\mahongkai\mahongkai.dll"
InstallDir "C:\Ma_Hong_Kai"
;……
SetOutPath $INSTDIR
File /r "..\mahongkai.dll"
2、Delete
作用:從目標系統刪除檔案(可以是檔案或萬用字元,但應使用完整路徑指定)
[/REBOOTOK] file
Delete "$INSDIR\mahongkai.dll"
如果無法刪除,啟動後刪除
Delete /REBOOTOK "$INSDIR\mahongkai.dll"
3、Rename
作用:把原始檔重新命名為目標檔案
[/ REBOOTOK] source_file dest_file
Rename $INSTDIR\mahongkai.dll $INSTDIR\mahongkai.dat
4、CreateDirectory
作用:建立 (遞迴建立) 指定的目錄。當目錄不能建立時會放置一個錯誤標記。你也可以指定一個絕對路徑
Var /GLOBAL G_AGi ;定義的變數都是全域性變數,
CreateDirectory "$G_AGi \「開始」選單\程式\MHk"
5、RMDir
作用:刪除指定的目錄(沒有萬用字元的完全限定路徑,無法刪除當前工作目錄)
[/ r] [/ REBOOTOK] directory_name
RMDir /r /REBOOTOK "$APPDATA\mahongkai"
6、SetOutPath
作用:設定輸出路徑($OUTDIR)且當路徑不存在時建立(需要時會遞迴建立)。必須為絕對路徑名,通常都使用 $INSTDIR
SetOutPath $ INSTDIR
7、CreateShortCut
作用:建立快捷檔案.lnk 目標檔案
link.lnk target.file [parameters [icon.file [icon_index_number [start_options [keyboard_shortcut [description]]]]]]
CreateShortCut "$AGI\ 「開始」選單\程式\MHK\mahongkailnk.lnk" "$INSTDIR\mahongkaiexe.exe" "" "$INSTDIR\mahongkaiexe.exe" 0
引數說明:
/ REBOOTOK 重新啟動時進行命令指定的操作,比如 RMDir / REBOOTOK $ INSTDIR 新啟動時將刪除在此過程中無法刪除的任何檔案或目錄
NSIS使用手冊(講得很是詳細)
Ma_Hong_Kai 學習筆記,如有錯誤之處,歡迎指正。