【问题标题】:Using batch file to start VS C# Project with params使用批处理文件启动带有参数的 VS C# 项目
【发布时间】: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


【解决方案1】:

对不起,我给你的时间太短了:P

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

我现在正在使用以下命令:

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

感谢大家的评论并带我回答这个问题:)

【讨论】:

    猜你喜欢
    • 2013-10-13
    • 1970-01-01
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    • 2016-04-24
    • 1970-01-01
    • 2017-08-13
    • 2013-09-11
    相关资源
    最近更新 更多