我寫了一個腳本BAT
自動連接和斷開寬帶連接:的Process.Start,批處理文件和報價
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
文件之前,我直接啓動了這些命令。他們在外殼上工作得很好,但使用Process.Start
時出現同樣的錯誤。
這是爲什麼發生在我身上?
輸出:
C:\開發\ NetworkAdapterTest \ NetworkAdapterTest \ BIN \調試>的netsh MBN連接接口= \ 「移動 Breitbandverbindung \」 connmode =名 名= \ 「A1 2 \」未找到以下命令 :mbn connect interface =「Mobile Breitbandverbindung」 connmode = name name =「A1 2」。
C:\開發\ NetworkAdapterTest \ NetworkAdapterTest \ BIN \調試>的netsh MBN斷開接口= \ 「移動 Breitbandverbindung \」 以下 命令沒有被發現:MBN斷開 接口= 「移動Breitbandverbindung」
請注意報價是如何真正連線的。當我直接啓動命令時,我遇到了同樣的問題。
當我用Visual Studio 2008編譯解決方案時,一切都按預期工作。
問題不再相關。
您是否獲得了同樣的錯誤,如果你與轉義引號手動在命令行中執行命令? – 2011-04-07 16:19:40
如果我運行第一個命令(使用正確的引號),則不會出現錯誤。如果我運行錯誤消息中寫入的命令,則會出現錯誤。 – xsl 2011-04-07 16:21:35
我沒有問,如果你得到「一個」的錯誤,但如果你得到*相同的*錯誤... – 2011-04-07 17:43:02