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

有一个外接程序可以访问VBScript文件

推荐答案

下面的代码将执行一个VBScript脚本,没有提示或错误,也没有shell徽标.

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等,则需要使用Windows Script Host.您也可以try 直接执行cscript,但在某些系统上,它只会启动编辑器:)

Asp.net相关问答推荐

ASP.NET MVC forEach 循环仅返回 1 个值

说服遗留应用程序 VB6 开发人员切换到 C#

在属性中实现逻辑是一种好习惯吗

N' 在 SQL 脚本中代表什么? (插入脚本中字符之前使用的那个)

ASP.NET Core 中的授权. [Authorize] 属性总是 401 Unauthorized

在使用网络服务器加载它们之前,如何编译 Asp.Net Aspx 页面?

AddDefaultTokenProviders:它是什么以及如何使用那些默认提供者?

如何在 ASP.Net Core Razor 页面上重定向

尽管安装了 AspNetCoreModule,但在 IIS 中运行 ASP.NET Core 应用程序时出现 0x8007000d 错误 500.19

反序列化客户端 AJAX JSON 日期

如何以编程方式将标签的前景色设置为其默认值?

我的 asp.net mvc Web 应用程序中的 OutputCache 设置.防止缓存的多种语法

在 Android/Java 和 C# 中计算 SHA256 哈希

解析器错误消息:无法加载类型网络营销

@(at) 登录文件路径/字符串

VS2017 无法加载文件或程序集 Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll 或其依赖项之一

如何在实体框架中添加表?

SQLServer 与 StateServer 的 ASP.NET 会话状态性能

ContentResult 与字符串

IronRuby死了吗?