我有一个 C# 项目,它接受我试图从 bat 文件运行的参数。对于不带参数的应用程序,我只需将以下内容放入名为 run.bat 的文件中
pathname\helloworld\bin\Debug\helloworld.exe
如果我的程序接受参数怎么办,我该如何调整。什么时候使用回声?关于编写批处理文件的任何好的教程?谢谢
我有一个 C# 项目,它接受我试图从 bat 文件运行的参数。对于不带参数的应用程序,我只需将以下内容放入名为 run.bat 的文件中
pathname\helloworld\bin\Debug\helloworld.exe
如果我的程序接受参数怎么办,我该如何调整。什么时候使用回声?关于编写批处理文件的任何好的教程?谢谢
pathname\helloworld\bin\Debug\helloworld.exe "argument 1" "argument 2" 3
using System;
public class Demo {
public static void Main(string[] args) {
foreach(string arg in args)
Console.WriteLine(arg);
}
}
我会尝试
@rem turn off echo - atsign is line-level way how to do it
@echo off
@rem provided your app takes three params, this is how to pass them to exe file
pathname\helloworld\bin\Debug\helloworld.exe %1 %2 %3
对于您的 bat 文件,只需在 exe 路径后添加参数,如下所示:
pathname\helloworld\bin\debug\helloworld.exe param1 param2
然后,您的 Program.cs 文件中有一个方法,如下所示:
[STAThread]
static void Main(string[] args)
{
Application.Run(args.Length > 0 ? new Main(args[0]) : new Main());
}
在这里,您可以调整处理的参数并将它们发送到您的启动表单。
至于回显,这就像一个打印语句,任何你想输出到控制台窗口的东西......
字符串参数往往只跟在 EXE 后面一个空格。因此,如果您有两个参数“Bob”和“is a jerk”,您可以在 .bat 中这样写:
helloworld.exe 鲍勃“是个混蛋”
Bob 成为第一个参数,因为它周围有空格。但是“是个混蛋”因为引号而全是一个。所以这将是两个参数。
您的标签提到了 C,但我不清楚您是否真的是从完全独立的语言 C 中调用它;您似乎只是在表明您使用批处理文件。