我正在創建我的第一個NSI腳本,我只是想知道如果我可以從NSIS執行命令行命令還是應該執行批處理文件?我真的不知道從哪裏開始,其他類似的話題已經超出了我的頭腦。從NSIS執行命令行命令
回答
嘗試使用exec
命令http://nsis.sourceforge.net/Docs/Chapter4.html:
4.9.1.2 Exec的
命令
執行指定的程序,並立即繼續。請注意,指定的文件必須存在於目標系統上,而不是編譯系統中。 $OUTDIR
用於工作目錄。如果進程無法啓動,則會設置錯誤標誌。請注意,如果該命令可能有空格,則應將其放在引號中以便從參數中對其進行分隔。例如:Exec '"$INSTDIR\command.exe" parameters'
。如果不將它放在引號中,它將無法在Windows 9x上使用或不使用參數。
Exec '"$INSTDIR\someprogram.exe"'
Exec '"$INSTDIR\someprogram.exe" some parameters'
好吧,我希望能夠從.nsi控制命令行並執行如下操作:「copy/b someprogram.exe + ,,」聽起來像我需要從批處理文件中完成。 – user1457296 2012-07-16 22:18:13
你試過這個'Exec'cmd/k copy/b ...'嗎? – zenpoy 2012-07-17 05:25:44
我建議看看nsExec插件。我剛剛遇到了一種情況,我需要從NSIS腳本中ping一臺服務器,下面的代碼對我來說非常合適。
nsExec::Exec '"C:\Windows\System32\PING.EXE" $URL'
使用nsExec的好處是,它可以在屏幕上彈出一個dos框而不執行任何命令。返回值被壓入堆棧,並且有幾種不同的方式可以訪問程序的輸出(如果存在的話)。
沒有一大堆關於NSIS網站,我能找到的插件的信息,但下面的鏈接應該讓你在正確的方向開始:
http://nsis.sourceforge.net/Docs/nsExec/nsExec.txt
編輯:
我注意到你特別詢問了一個內部DOS命令的COPY命令,這意味着你將無法像執行ping操作那樣執行它。我可能會誤解,但你不應該使用任何外部程序來執行這樣的基本命令。您應該能夠使用NSIS命令複製大多數內部命令。
例如,要複製文件(或多個文件)使用NSIS命令:CopyFiles
的NSIS Scripting Reference是你的朋友:)(所以是按Ctrl + F)
只是正確的選項來執行應用程序而不顯示命令提示符 – 2014-03-20 03:36:41
- 1. 從Perl執行命令行命令?
- 2. 從命令行執行Django Shell命令
- 3. 從Python執行命令行命令
- 4. 從命令行執行Powershell
- 5. 執行命令
- 6. 執行命令
- 7. 執行命令
- 8. 從Windows命令提示符執行命令可執行文件
- 9. 從java執行命令行工具因命令行而異?
- 10. 命令行命令命令
- 11. 從ruby執行shell命令
- 12. 從Java執行cmd.exe命令
- 13. 從vb.net執行CMD命令
- 14. 執行命令從變量
- 15. 從ADO.Net執行DBCC命令
- 16. 從Java執行shell命令
- 17. Flex ant mxmlc命令vs執行命令
- 18. VBScript不執行命令提示命令?
- 19. PHP執行命令作爲子命令
- 20. PIG命令執行
- 21. 執行sql命令
- 22. 執行shell命令
- 23. PHP執行命令
- 24. JS執行命令
- 25. Verilog執行命令
- 26. SharpSsh命令執行
- 27. 執行命令bahaviour
- 28. SshNet命令執行
- 29. 執行symfony命令
- 30. 命令執行shell
的【答案在這裏(HTTP: //stackoverflow.com/a/10900198/62576)可能會有所幫助。它適用於命令行應用程序。 – 2012-07-16 19:18:04