从 C# 执行批处理文件

Posted

技术标签:

【中文标题】从 C# 执行批处理文件【英文标题】:Execute a Batch File From C# 【发布时间】:2012-08-11 13:38:35 【问题描述】:

我有一个小问题。好的,让我们从我的 C# 控制台应用程序中说,我想运行一个带有参数的批处理文件。我的 C# 应用程序停止时的字符串变量将是传递给批处理文件的字符串参数。我该怎么做呢?

这是迄今为止我的 C# 控制台程序的代码:

//String argument to pass to the batch file
string message = "Hello World";

System.Diagnostics.Process process = new System.Diagnostics.Process();

//startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "Greetings.bat";
startInfo.Arguments = "/C " + message;
process.StartInfo = startInfo;
process.Start();

我的批处理文件

CLS
@ECHO OFF
ECHO %1          

【问题讨论】:

C# Service cannot execute batch file?的可能重复 或***.com/questions/7101326/… 【参考方案1】:

你可以这样给出论据。

ProcessStartInfo psi = new ProcessStartInfo(filePath);
psi.WindowStyle = ProcessWindowStyle.Hidden; 
psi.Arguments = "value1";

【讨论】:

请注意,使用此代码您提供了一个参数“value1value2”

以上是关于从 C# 执行批处理文件的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中执行批处理文件

c#打开批处理文件但不执行.bat中的VBScript

在命令提示符下编译/执行 C# 源文件

从代码执行 CMD 命令

将 C# 可执行文件的图标设置为文件处理程序的问题

使用 C# 应用程序中生成的批处理文件解锁 BitLocker 驱动器