如何从C#控制台应用程序启动带有参数的本地VBScript?
我有一个用最新的.NET框架构建的C#控制台应用程序 如何从应用程序中启动/启动带有参数的本地.vbs文件(示例):如何从C#控制台应用程序启动带有参数的本地VBScript?,c#,.net,vbscript,console,C#,.net,Vbscript,Console,我有一个用最新的.NET框架构建的C#控制台应用程序 如何从应用程序中启动/启动带有参数的本地.vbs文件(示例): "C:/my folder/import.vbs" agr1 agr2 如果不希望显示弹出窗口,请使用cscript.exe启动它,否则可以使用wscript: cscript import.vbs agr1 agr2 您可以通过使用System.Diagnostics.Process.Start和ProcessStartInfo对象从C#执行此操作: var si = ne
"C:/my folder/import.vbs" agr1 agr2
如果不希望显示弹出窗口,请使用cscript.exe启动它,否则可以使用wscript:
cscript import.vbs agr1 agr2
您可以通过使用System.Diagnostics.Process.Start和ProcessStartInfo对象从C#执行此操作:
var si = new System.Diagnostics.ProcessStartInfo() { WorkingDirectory = @"C:\temp\", Arguments = "import.vbs arg1 arg2", FileName="cscript.exe" };
var proc = System.Diagnostics.Process.Start(si);
proc.WaitForExit();
您也可以直接启动import.vbs,Windows将使用默认脚本主机执行它。只需按如下方式调整此行:
var si = new System.Diagnostics.ProcessStartInfo() { WorkingDirectory = @"C:\temp\", Arguments = "arg1 arg2", FileName="import.vbs" };
默认脚本引擎是wscript,这意味着如果脚本有弹出窗口,它们将被显示,并将导致脚本停止,等待用户确认/交互
如果通过cscript启动它,则脚本生成的任何弹出窗口都将被抑制 你可以用。我过去在脚本中使用过它
static void Main(string[] args)
{
Process process = new Process();
ProcessStartInfo start = new ProcessStartInfo();
start.FileName = @"C:\my folder\import.vbs";
start.Arguments = "agr1 agr2";
process.StartInfo = start;
process.Start();
}
System.Diagnostics.Process.Start(
@"C:\my folder\import.vbs",
String.Format("{0} {1}", agr1, agr2));