首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >nsExec::ExecToStack在运行NSIS脚本尝试运行DOS命令时失败

nsExec::ExecToStack在运行NSIS脚本尝试运行DOS命令时失败
EN

Stack Overflow用户
提问于 2021-01-29 00:01:18
回答 1查看 1.1K关注 0票数 2

请注意,我试图创建一个数据文件作为我的安装脚本的一部分。下面是我正在使用的内容:

代码语言:javascript
运行
复制
  # Create config.dat based on user`s previous selection
  nsExec::ExecToStack '"$SYSDIR\cmd.exe" @echo ServerPort = 2003 > $INSTDIR\config.dat'
  Pop $0 # return value/error/timeout
  Pop $1 # printed text, up to ${NSIS_MAX_STRLEN}
  DetailPrint '$SYSDIR\cmd.exe "@echo ServerPort = 2003 > $INSTDIR\config.dat" printed: $1'
  DetailPrint ""
  DetailPrint "       Return value: $0"
  DetailPrint ""

当我运行这个脚本时,上面的返回值是0,所以我认为它应该可以工作,但是当我检查安装目录时,我发现没有创建任何config.dat文件。

还有,我试过这个命令,

代码语言:javascript
运行
复制
nsExec::ExecToStack '@echo ServerPort = 2003 > $INSTDIR\config.dat'

但当我使用它时,显示打印:

代码语言:javascript
运行
复制
Return value: error

这里是我看过的网站,但我仍然不清楚如何让nsExec工作。

有人有什么建议吗?蒂娅。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-29 00:20:15

请注意,我发现了这个问题。我认为nsExec主要用于命令行,但您必须从cmd开始:

代码语言:javascript
运行
复制
nsExec::ExecToStack  'cmd /c "@echo ServerPort = 2003 > config.dat"'

详情请参阅:

Execute Command-Line Command from NSIS

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65947000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档