如何从c#代码运行VBS脚本

本文关键字:运行 VBS 脚本 代码 | 更新日期: 2023-09-27 18:10:45

我所要做的就是能够从代码后面运行VBS脚本,但我得到这个错误:"系统找不到指定的文件"。我知道路径名称,我只需要执行。vbs脚本,但它给了我艰难的时间,我无法弄清楚。请帮助。谢谢这是我的代码

System.Diagnostics.Process.Start(@"cscript  //B //Nologo ''loc1'test'myfolder'test1.vbs");

我已经更新了代码如下所示,但我得到一个安全警告,问我是否要打开它。有没有办法不得到这些类型的警告,只是运行脚本没有任何警告?下面是更新后的代码:

  Process proc = null;
        try
        {
            string targetDir = string.Format(@"''loc1'test'myfolder");//this is where mybatch.bat lies
            proc = new Process();
            proc.StartInfo.WorkingDirectory = targetDir;
            proc.StartInfo.FileName = "test1.vbs";
            proc.StartInfo.Arguments = string.Format("10");//this is argument
            proc.StartInfo.CreateNoWindow = false;
            proc.Start();
            proc.WaitForExit();
        }
        catch (Exception ex)
        {
           // Console.WriteLine("Exception Occurred :{0},{1}", ex.Message, ex.StackTrace.ToString());
        }

如何从c#代码运行VBS脚本

你的代码对我来说工作得很好,我认为错误在你的文件路径

最好确认您给出的文件路径是否有效..

你也可以像下面这样运行这个文件。

Process scriptProc = new Process();
scriptProc.StartInfo.FileName = @"cscript"; 
scriptProc.StartInfo.Arguments ="//B //Nologo ''loc1'test'myfolder'test1.vbs";
scriptProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
scriptProc.Start();
scriptProc.WaitForExit();
scriptProc.Close();

但是检查你的文件路径你给…

参数必须单独包含。有一个参数字段用于向进程传递参数。

您可以将此作为在应用程序中使用命令行执行程序的指南。