【问题标题】:How to pass parameters from a batch file如何从批处理文件中传递参数
【发布时间】:2015-11-27 19:53:40
【问题描述】:

我有一个批处理文件来执行我的控制台应用程序。我需要在控制台内传递一个参数,但我不知道如何传递它以及如何将它添加到 main() 参数为projectId

这是我的批处理文件中的内容:

@echo off
start "C:\Users\testUser\Documents\console.exe %2345867162 %4756473622

这是我的控制台应用程序中的代码

static void Main(string[] args)
{
    data();
}

string ProjectID = "";

byte[] MyBinFiles = db.GetResponse3(ProjectID);    

System.IO.File.WriteAllBytes(MyBinFiles);

【问题讨论】:

  • 这些参数存储在Mainargs 数组中。你问的是这个吗?
  • 你检查args[0]args[1]的值了吗?
  • 是的,所以我需要将带有所有参数的数组传递给主数组吗?像这样的东西进入 main 所以它会从批处理文件中获取参数?
  • 对不起,我忘了包含主要示例 var arg = new string[] { "arg0", "arg1"};

标签: c# .net batch-file visual-studio-2012 command-line-arguments


【解决方案1】:

The Main method 是 C# 控制台应用程序的入口点或 窗口应用程序。 (图书馆和服务不需要 Main 方法作为入口点。)。当应用程序启动时,主 method 是第一个被调用的方法。

您可以通过定义方法来向 Main 方法发送参数 以下方式之一: static int Main(string[] args) static void Main(string[] args)

阅读this

传递给程序主方法的参数可以通过Main 方法中的args 数组访问。随心所欲地使用它们

【讨论】:

  • 嗨,我明白你指的是什么,但我仍然不知道当批处理文件将以控制台应用程序识别参数的方式执行时我需要传递什么批处理文件正在引用控制台应用程序中的参数,在这种情况下是 ProjectId
【解决方案2】:

作为使用 Main 方法的参数的替代方法,您可以使用 Environment.GetCommandLineArgs() http://msdn.microsoft.com/en-us/library/system.environment.getcommandlineargs.aspx

【讨论】:

    猜你喜欢
    • 2021-06-04
    • 2015-02-26
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多