如何将一些VBScript代码转换为C#

时间:2017-08-17 18:26:41

标签: c# vbscript

在我的C#代码中,我目前引用了一个运行批处理文件的VBS文件。我这样做是因为它隐藏了CMD窗口(防止在执行期间看到它)。我遇到了PC无法执行VBS文件的权利问题。

我有没有在C#中复制VBS代码?

以下是代码:

Set oShell = CreateObject ("Wscript.Shell") 
Dim strArgs
strArgs = "cmd /c LayoutsBackup.bat"
oShell.Run strArgs, 0, false

1 个答案:

答案 0 :(得分:0)

您可以在新的控制台项目中尝试以下代码。使用F10逐步完成它,让我知道它是否有帮助。

using System;
using System.Diagnostics;

namespace ConsoleApplication13
{
    class Program
    {
        static void Main(string[] args)
        {
            //Set oShell = CreateObject("Wscript.Shell")
            var shellType = Type.GetTypeFromProgID("Wscript.Shell");
            dynamic shell = Activator.CreateInstance(shellType);
            //Dim strArgs
            //strArgs = "cmd /c LayoutsBackup.bat"
            //oShell.Run strArgs, 0, false
            var startArgs = new ProcessStartInfo
            {
                Arguments = @"/c ""C:\YourPathTo\LayoutsBackup.bat""",                    FileName = "cmd",
                UseShellExecute = false
            };
            var shellProcess = Process.Start(startArgs);
            shellProcess.WaitForExit(); /* optional */
        }
    }
}