无法将参数发送到通过IExpress转换为应用程序的批处理文件

时间:2018-12-26 18:47:41

标签: batch-file iexpress

我制作了一个包含个人数据的批处理文件,因此为了对其他人隐藏并发布该文件,我决定对其进行“加密”,并通过IExpress将其转换为exe

我的批处理文件名为prime.bat,位于%userprofile%中。

这是我在iexpress.exe上执行的步骤:

  • 运行iexpress.exe
  • 已选择Create new Self Extraction Directive file
  • 选择了Extract files and run an installation command
  • 输入的包标题(Prime finder)。
  • 选择了No prompt.
  • 选择了Do not display a license.
  • 已选择prime.bat%userprofile%中的C:\Users\%username%
  • cmd /c prime.bat中输入Install Program,并按原样({{1)}保留Post Install Command
  • 选择了<None>
  • 选择了Default (recommended)
  • 输入了No message,并且没有选中下面的任何框。
  • 选择了C:\Users\username\prime.exe
  • 已选择保存No restart文件。

包创建成功!


由于批处理文件使用参数,因此必须从cmd运行。当我单击资源管理器中的单个文件时,它已正确打开。因为如果没有参数,我已发出一条错误消息,所以它引发了预期的错误并以SED退出。如果我仅在cmd中键入1,则会发生上述情况,并产生相同的输出。


但是,如果我再次从cmd运行文件,但指定自变量,则会在新窗口中收到错误消息。由于我不使用英语并且没有更改语言的权限,因此我将尝试翻译输出:

  

语法错误出现在命令行的选择中。

     

在命令后输入prime.exe

因此,我键入了/?,出现了一个带有帮助的新窗口。我认为我在prime.exe /?选项中缺少某些内容。

1 个答案:

答案 0 :(得分:0)

我使用以下方法解决了我的问题:

prime.exe /c:"cmd /c prime.bat numeric_arguments"

当您要向IExpress“已编译”文件发送参数时应使用

,因为/c选项指定了新的安装命令。