一尘不染

如何在C#应用程序中调用VBScript文件?

c#

我需要在C#Windows应用程序中调用VBScript文件(.vbs文件扩展名)。我怎样才能做到这一点?

没有一个外接程序可以在Visual Studio中访问VBScript文件。但是我需要在后面的代码中访问脚本。这个怎么做?


阅读 381

收藏
2020-05-19

共1个答案

一尘不染

以下代码将执行没有提示或错误且没有外壳徽标的VBScript脚本。

System.Diagnostics.Process.Start(@"cscript //B //Nologo c:\scripts\vbscript.vbs");

更复杂的技术是使用:

Process scriptProc = new Process();
scriptProc.StartInfo.FileName = @"cscript"; 
scriptProc.StartInfo.WorkingDirectory = @"c:\scripts\"; //<---very important 
scriptProc.StartInfo.Arguments ="//B //Nologo vbscript.vbs";
scriptProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; //prevent console window from popping up
scriptProc.Start();
scriptProc.WaitForExit(); // <-- Optional if you want program running until your script exit
scriptProc.Close();

使用这些StartInfo属性可以使您对过程设置进行相当细致的访问。

如果希望脚本程序显示窗口等,则需要使用Windows脚本宿主。您也可以尝试直接执行cscript,但在某些系统上,它将仅启动编辑器:)

2020-05-19