我编写了一个BAT
自动连接和断开宽带连接的脚本:
netsh mbn connect interface="Mobile Broadband Connection" connmode=name name="My Provider"
netsh mbn disconnect interface="Mobile Broadband Connection"
当我单击BAT
脚本时它工作正常,但是当我执行它时Process.Start
:
var startInfo = new ProcessStartInfo
{
FileName = "cmd.exe",
Arguments = "/c reconnect.bat",
WindowStyle = ProcessWindowStyle.Minimized,
UseShellExecute = false,
RedirectStandardOutput = true,
RedirectStandardError = true
};
var process = new Process
{
StartInfo = startInfo
};
process.Start();
netsh 返回找不到 mbn 命令的错误。
在我使用BAT
文件之前,我直接启动了命令。他们在 shell 上运行良好,但在使用Process.Start
.
为什么这会发生在我身上?
输出:
C:\Dev\NetworkAdapterTest\NetworkAdapterTest\bin\Debug>netsh mbn connect interface=\"Mobile Breitbandverbindung\" connmode=name name=\"A1 2\" 找不到以下命令:mbn connect interface="Mobile Breitbandverbindung"连接模式=名称名称=“A1 2”。
C:\Dev\NetworkAdapterTest\NetworkAdapterTest\bin\Debug>netsh mbn disconnect interface=\"Mobile Breitbandverbindung\" 找不到以下命令:mbn disconnect interface="Mobile Breitbandverbindung"
注意引用是如何真正连接的。当我直接启动命令时,我遇到了同样的问题。
当我使用 Visual Studio 2008 编译解决方案时,一切都按预期工作。
问题不再相关。