cmd Аргументы не работают - PullRequest
       23

cmd Аргументы не работают

2 голосов
/ 06 сентября 2011

Я пытаюсь получить все имена серверов из установленных экземпляров SQL Server локально.Я знаю, что есть команда "sqlcmd -L", которая возвращает этот список в cmd.Ниже приведен код, который я использую для запуска cmd.

Process sqlServers = new Process();
ProcessStartInfo psi = new ProcessStartInfo();
psi.RedirectStandardOutput = true;
psi.CreateNoWindow = false; (DEBUGGING PURPOSES)
psi.FileName = "cmd";
psi.Arguments = @"sqlcmd -L";
psi.UseShellExecute = false;
sqlServers = Process.Start(psi);
string serverList = sqlServers.StandardOutput.ReadToEnd();
sqlServers.WaitForExit(30000);

Я использовал эту базу кода в другом разделе программы, и она отлично работает.Хотя я не читаю обратно значение.

Может кто-нибудь помочь мне выяснить, почему при запуске этого кода открывается окно cmd, но аргументы не запускаются и ничего не возвращается.

Ответы [ 3 ]

4 голосов
/ 06 сентября 2011

Если вы хотите вызвать команду через «cmd.exe», вам нужно указать аргумент «/ c», поэтому ваш код должен выглядеть так:

psi.FileName = "cmd.exe";
psi.Arguments = "/c sqlcmd -L"

Хотя мне неясно, почему вы вызываете это через «cmd.exe», а не просто через «sqlcmd».

3 голосов
/ 06 сентября 2011

Если вы замените Cmd на имя программы, которую вы хотите запустить, и назначите свои аргументы, она будет работать.

psi.FileName = "sqlcmd"; 
psi.Arguments = "-L"; 
0 голосов
/ 29 октября 2014

Добавление «/ c» до того, как команда сработала для меня. Я запускаю команду в командной строке, не показывая окно cmd. Вы можете использовать путь к рабочему каталогу, если хотите выполнить команду в определенной папке.

string path = Path.Combine(Directory.GetCurrentDirectory(), "folderInDebug");
var startInfo = new System.Diagnostics.ProcessStartInfo
{
      WorkingDirectory = path,
      FileName = "cmd",
      Arguments = "/c sysdm.cpl",
      UseShellExecute = false
 };
 Process proc = Process.Start(startInfo);

Без аргумента "/ c" он не запустил системные свойства.

...