bat nsis 无法执行_nsi脚本中执行.bat文件要隐藏dos窗口问题
问题原因:工作中,在一个nsi的安装脚本文件中需要安装虚拟摄像头驱动,安装驱动脚本是.bat文件。使用nsi的execwait函数执行.bat文件时会显示dos窗口。但是领导要求不能显示dos窗口。
解决方法一:思路是看看bat脚本命令本身有没有隐藏dos方法。但是没有找到。后来发现可用用.vbs文件调用来隐藏。
创建一个.vbs文件,写入:createobject ("wscript.shell").run "a.bat",1,TRUE。使用.vbs文件来调用bat文件。windows下执行时可以隐藏窗口的。但是发现在nsi脚本无法执行.vbs文件。
所有方法一失败了。
方法二:查看nsi本身带有的exec执行函数。
网上查看到有
1、ExecWait "$INSTDIR\nsis.bat" //可以等待 不可以隐藏窗口
2、nsExec::Exec "$INSTDIR\nsis.bat" //可以等待 可以隐藏窗口
3、ExecShell Open "$INSTDIR\nsis.bat" "" SW_HIDE // 不可以等待 可以隐藏窗口
4、ExecCmd::exec "$INSTDIR\nsis.bat" // 不可以等待 可以隐藏窗口 ( Pop $0、 ExecCmd::wait $0 等待)
我们需要等待bat文件返回,而且要隐藏窗口,那么可以用第二个 nsExec::Exec函数。
nsExec::Exec函数是个nsis的nsExec.dll插件中的方法。所有需要在脚本文件中添加插件。
添加方法是
!addplugindir Plugins //添加nsis程序中附带的插件库目录
nsExec::Exec '${VCAM_INSTALL}' //执行相关的.bat文件 VCAM_INSTALL是个.bat文件的完整路径变量。
好了,这样就不会显示dos窗口了。
bat nsis 无法执行_nsi脚本中执行.bat文件要隐藏dos窗口问题相关推荐
- shell脚本中执行 source /etc/profile 或者 source ~/.bashrc 不能生效的原因
执行脚本时,其中的命令是在一个子shell中执行的.子shell继承了父shell的环境变量,但无法修改他们,或者说所做的修改仅对子shell有效.所以当shell脚本执行完后,到了回到shell命令 ...
- 在 Shell 脚本中执行语法检查调试模式
文章目录 shell 脚本调试系列 概述 启用 verbose 调试模式 在 Shell 脚本中启用语法检查调试模式 通过修改脚本的首行来启用脚本检查 内置的 set 命令来在脚本中启用调试模式 sh ...
- 命令行执行php脚本中的$argv和$argc配置方法
这篇文章主要介绍了命令行执行php脚本 中$argv和$argc的方法,本文给大家介绍的非常详细,需要的朋友可以参考下 在实际工作中有可能会碰到需要在nginx命令行执行php脚本的时候,当然你可以去 ...
- shell脚本中执行命令_如何在Shell脚本中执行命令?
shell脚本中执行命令 Shell is a command-line interpreter that allows the user to interact with the system. I ...
- Tcl/Tk脚本中执行Shell脚本
在Tcl/Tk脚本中执行Shell命令 set n 0 set x "*"while {$n < 10} {puts $xset x "$x"*set n ...
- [转帖]C#执行SQL脚本,读取XML文件
[转帖]C#执行SQL脚本,读取XML文件 需要添加如下引用: using System.IO; using System.Data.SqlClient; using System.Collectio ...
- linux脚本中如何读取文件,如何在Shell脚本中逐行读取文件
原标题:如何在Shell脚本中逐行读取文件 在这里,我们学习Shell脚本中的3种方法来逐行读取文件. 方法一.使用输入重定向 逐行读取文件的最简单方法是在while循环中使用输入重定向. 为了演示, ...
- python中的main函数可以被其他文件调用么_Python中在脚本中引用其他文件函数的实现方法...
在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路径例如包的安装地址.所以如果要在当前脚本引用其他文件,除了将文件放在和 ...
- 如何在 Shell 脚本中执行语法检查调试模式
我们开启了 Shell 脚本调试系列文章,先是解释了不同的调试选项,下面介绍如何启用shell调试模式. 写完脚本后,建议在运行脚本之前先检查脚本中的语法,而不是查看它们的输出以确认它们是否正常工作. ...
最新文章
- 联泰集群发布水晶系列工作站,用于深度学习场景
- unity可以用python编写吗_基于python的Cා代码生成器(用于服务并应用于unity),一个,c,为了,并且,Unity...
- idea gui插件_给 IDEA 换了酷炫的主题,研发小姐姐看到:feel so high。。。
- python怎么加载包_如何在Python Interpreter中重新导入更新的包?
- 提高xshell使用效率
- json取数据怎么取_灯罩怎么取下来 各种吸顶灯的灯罩拆卸方法
- 从全息投影到全息平台,必须克服7个障碍
- centos7图形化分区和ks文件分区的配置
- 基于web的模型管理系统的设计
- 区块链是什么意思?源中瑞开发BaaS平台促进企业数字转型升级
- 【学习笔记】docker安装yapi并配置及添加用户、自动同步swagger设置
- [RK356x] [Firefly-Ubuntu] 10min带你了解Ubuntu固件各个分区
- C语言实现无符号乘法
- 数据库 约束(Constraint)、多表关系和范式
- 数据全量、增量、比较更新
- Mission planner加载天地图(混合卫星地图含标注)
- 爬虫—有道翻译案例(史上最详细分析教程)
- 2007高校bbs上20个睿智冷笑话
- 《2021当代青年婚恋状态研究报告》:觅伊打破交友困境
- Windows PowerShell清除历史命令执行记录