我真的很难解释我想要做什么,所以我将解释我正在尝试构建的程序是什么。
我正在用C#构建一个控制台应用程序。
我需要每天6点运行它。我已经为它构建了计时器,但我需要它来获取带有“名称”的参数,就像将它运行到PowerShell中一样。我需要做那样的事情:
.\run.exe Name
在我的程序中我需要字符串中的名称,并用它写...并使用它的ofc。 我想知道如何添加它,所以我甚至可以做到:
.\run.exe Name Name2 Name3
再次感谢大家,你在这里帮助我很多!
答案 0 :(得分:3)
您的控制台应用程序入口点可能如
public static void Main(string[] args) { }
args数组包含您通过命令行传递的所有参数。不同的元素是那些被空格分隔的元素。
因此,如果您将您的编辑称为prog.exe Name
, args [0] 将包含值“名称”。 args.Length
的值为1。如果您致电prog.exe Name X
,args.Length
将为2,args[1]
将为“X”。
答案 1 :(得分:0)
你想要的是: http://msdn.microsoft.com/en-us/library/acy3edy3.aspx
if (args.Length == 0)
{
System.Console.WriteLine("Please enter a numeric argument.");
return 1;
}
else if(args.Length == 1)
{
//do stuff here
}
等
答案 2 :(得分:0)
非常简单:
static void Main(string[] args)
{
// ... use args[] to get at your arguments...
}
答案 3 :(得分:0)
这不是问题。您提供的参数可用。试试这个:
static void Main(string[] args)
{
for (int i = 0; i < args.Length; i++)
{
Console.WriteLine(args[i]);
}
}
如果你想要名字,你可能想要做类似
的事情program.exe /name=name /brand=brand /three=somethingelse
并解析/ name =
的args通过这种方式,您可以更好地控制参数,用户可以按随机顺序提供参数。