使用批处理文件启动带参数的VS C#项目

使用批处理文件启动带参数的VS C#项目,c#,.net,batch-file,parameters,parameter-passing,C#,.net,Batch File,Parameters,Parameter Passing,我正试图用一些参数来开始我的项目 这是有效的: 通过这些设置,我可以执行以下操作: string postBox=ReadCommandArgsOrAppsettings(“ExchangeMailbox”) 它将在字段“Befehlszeilenargumente”(Cmd Args)中查找 否我要做的是使用.bat文件启动我的.exe: > start "Param" "C:\Program Files (x86)\ISEAG\ISESP2Exchange.exe" -Exchang

我正试图用一些参数来开始我的项目

这是有效的:

通过这些设置,我可以执行以下操作:

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地址没有与其关联的邮箱。


那么,如何以正确的方式将param-ExchangeMailbox从my.bat传递到my.exe?

很抱歉,我给了您这么短的时间:p

我发现错误在.bat文件中:

我现在使用以下命令:


感谢大家的评论,并给我带来了这个答案:)

看来-exchange邮箱是:“卢卡。hostettler@mail.ch"; 实际上是“start”命令的一个参数。为什么在bat中使用“start”命令而不是直接调用ISESP2Exchange.exe程序?我已经将其测试为:调用ISESP2Exchange.exe-ExchangeMailbox:“…”和“C:\program Files(x86)\ISEAG\ISESP2Exchange.exe-ExchangeMailbox:“…”这两个try都没有直接从命令行启动.exe并中断main(),看看argv[]。在这里你应该看到你的论点。这是第一步。
call "C:\Program Files (x86)\ISE AG\ISESP2Exchange\ISESP2Exchange.exe"  -ExchangeMailbox:"luca.hostettler@mail.ch" -SharepointAdditionalFilter1:"<Contains><FieldRef Name='ParticipantsPicker'/><Value Type='Text'>Sindy</Value></Contains>"
pause