我需要在C#Windows应用程序中调用VBScript文件(.vbs文件扩展名)。我怎样才能做到这一点?
没有一个外接程序可以在Visual Studio中访问VBScript文件。但是我需要在后面的代码中访问脚本。这个怎么做?
以下代码将执行没有提示或错误且没有外壳徽标的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属性可以使您对过程设置进行相当细致的访问。
StartInfo
如果希望脚本程序显示窗口等,则需要使用Windows脚本宿主。您也可以尝试直接执行cscript,但在某些系统上,它将仅启动编辑器:)
cscript