The following code will execute a VBScript script with no prompts or errors and no shell logo.
System.Diagnostics.Process.Start(@"cscript //B //Nologo c:scriptsvbscript.vbs");
A more complex technique would be to use:
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();
Using the StartInfo
properties will give you quite granular access to the process settings.
You need to use Windows Script Host if you want windows, etc. to be displayed by the script program. You could also try just executing cscript
directly but on some systems it will just launch the editor :)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…