Я написал 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
, я запускал команды напрямую. Они отлично работали на оболочке, но получили ту же ошибку при использовании Process.Start
.
Почему это происходит со мной?
Выход:
C: \ Dev \ NetworkAdapterTest \ NetworkAdapterTest \ Bin \ Debug> Netsh
Интерфейс mbn connect = \ "Мобильный
Breitbandverbindung \ "connmode = name
name = \ "A1 2 \" Следующая команда
не был найден: mbn connect
interface = "Мобильный Breitbandverbindung"
connmode = name name = "A1 2".
C: \ Dev \ NetworkAdapterTest \ NetworkAdapterTest \ Bin \ Debug> Netsh
MBN отключить интерфейс = \ "Мобильный
Breitbandverbindung \ "следующее
команда не найдена: mbn отключить
interface = "Mobile Breitbandverbindung"
Обратите внимание на то, как на самом деле приведена цитата. У меня возникли те же проблемы, когда я запускал команды напрямую.
Когда я компилирую решение с помощью Visual Studio 2008, все работает как положено.
Вопрос больше не актуален.