在我的C#代码中,我目前引用了一个运行批处理文件的VBS文件。我这样做是因为它隐藏了CMD窗口(防止在执行期间看到它)。我遇到了PC无法执行VBS文件的权利问题。
我有没有在C#中复制VBS代码?
以下是代码:
Set oShell = CreateObject ("Wscript.Shell")
Dim strArgs
strArgs = "cmd /c LayoutsBackup.bat"
oShell.Run strArgs, 0, false
答案 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 */
}
}
}