【发布时间】:2015-02-20 12:48:15
【问题描述】:
我正在尝试使用一些参数来启动我的项目。
这是有效的:
通过这些设置我可以做到:
string postBox = ReadCommandArgsOrAppsettings("ExchangeMailbox");
它会在“Befehlszeilenargumente”(Cmd-Args)字段中查找
不,我想做的是用 .bat 文件启动我的 .exe:
> start "Param" "C:\Program Files (x86)\ISEAG\ISESP2Exchange.exe" -ExchangeMailbox:"luca.hostettler@mail.ch";
但这不起作用,确实启动了程序,但 ExchangeMailbox 是空的,这导致我的程序关闭并告诉:
错误:SMTP 地址没有与之关联的邮箱。
那么我如何以正确的方式将参数 -ExchangeMailbox 从我的 .bat 传递给我的 .exe?
【问题讨论】:
-
看来-ExchangeMailbox:"luca.hostettler@mail.ch";实际上是“开始”命令的参数。为什么你在你的bat中使用“start”命令而不是直接调用ISEP2Exchange.exe程序?
-
我已将其测试为:调用 ISESP2Exchange.exe -ExchangeMailbox:"...." 和 "C:\Program Files (x86)\ISEAG\ISEP2Exchange.exe" -ExchangeMailbox:".. ." 两次尝试均无效
-
直接从命令行启动您的 .exe 并中断 main(),查看 argv[]。在这里你应该看到你的论点。这是第一步。
标签: c# .net batch-file parameters parameter-passing