【问题标题】:calling C# exe from commandline using batch file使用批处理文件从命令行调用 C# exe
【发布时间】:2012-06-07 23:59:36
【问题描述】:

我想使用 C# 创建一个用于发送电子邮件的 exe 文件。我想使用批处理文件调用这个 exe。我应该创建一个 Web 表单应用程序还是只创建一个类库?可以从命令提示符使用批处理文件调用 exe 吗?

请提出建议。

【问题讨论】:

    标签: c# batch-file


    【解决方案1】:

    通常,如果您想从命令行调用应用程序,您需要创建一个控制台应用程序

    这允许您的命令提示符调用应用程序并(可选)接受来自控制台(提示符)的输入以及将输出写入控制台(通过Console class)。

    您也可以直接从控制台应用程序的 Main 例程中读取命令行参数。

    【讨论】:

      【解决方案2】:

      编写一个在命令行上接受参数的控制台应用程序。然后您可以从脚本(即批处理文件)中调用它。您传递的参数可能包含电子邮件的所有元素 - 正文可能有点大,我不确定字符串 args 的长度的限制(如果有的话),但只要正文是合理的大小你会没事的。

      我更喜欢将这样的“工具”编写为控制台应用程序(而不是 Windows 应用程序),因为您在执行应用程序方面具有很大的灵活性。您可以通过键入 cmd.exe(命令行)直接调用它,您可以编写一个脚本来调用它(如您所建议的那样),您可以编写另一个可以调用它的 .NET 应用程序,等等... A Windows 应用只有一种调用方法。

      【讨论】:

      • 可以使用控制台应用程序发送电子邮件吗?
      • @DotnetSparrow 是的。您可以在控制台应用程序中做任何您想做的事情 - 它是一个完整的 .NET 应用程序。
      【解决方案3】:

      当然。创建应用程序,并将二进制 exe 存储在某个文件夹(即 C:\folder)中。
      如果您的 exe 名称为“name.exe”,请在批处理文件中写入

      cd C:\folder
      name
      

      这适用于所有类型的应用程序,您可以在这两种应用程序中访问命令行数据,但在控制台应用程序中最简单。

      你会写:

      cd C:\Users\asif\Desktop\EmailSender\ConsoleApplication1\bin\Debug\
      ::Space here
      ConsoleApplicati‌​on1
      

      换行

      【讨论】:

      • 我创建了一个批处理文件并将其写入其中,cd C:\Users\asif\Desktop\EmailSender\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe 但它不起作用..
      猜你喜欢
      • 1970-01-01
      • 2021-11-30
      • 1970-01-01
      • 2018-09-08
      • 1970-01-01
      • 2012-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多