Аргументы командной строки в C # - PullRequest
0 голосов
/ 01 сентября 2011

Здравствуйте, снова сообщество Stackoverflow,

Сегодня я пытаюсь выполнить приложение с параметрами командной строки в C #, что не так сложно, как я пытался

Process.Start(foldervar + "cocacola.exe", "pepsi.txt");

Cocacola.exe пишет и входит в свою текущую папку. В своей командной строке я пишу это вручную, как это

C:\myfolder>cocacola.exe pepsi.txt

Работает замечательно, но если я попробую это в C #, то произойдет полный сбой.

Я прочитал, что C # анализирует команду как C: \ myfolder> cocacola pepsi.txt, без окончания ".EXE". И я проверил это вручную без окончания, и это не работает.

Теперь мой вопрос: как правильно заставить C # выполнить его C: \ myfolder> cocacola.exe pepsi.txt с ".EXE"

Ответы [ 4 ]

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

использовать ProcessStartInfo

http://www.dotnetperls.com/process-start

пример:

    System.Diagnostics.Process proc = new System.Diagnostics.Process();
    proc.WorkingDirectory=@"c:\someplace";
    proc.StartInfo.FileName="cocacola.exe";
    proc.StartInfo.Arguments="pepsi.txt";
    proc.Start();
    proc.WaitForExit();

вот документы по свойствам StartInfo:

http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.aspx

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

Попробуйте установить свойства StartInfo.

Process process = new Process();
process.StartInfo.FileName = @"C:\myfolder\cocacola.exe";
process.StartInfo.Arguments = @"C:\myfolder\pepsi.txt";
process.Start();
1 голос
/ 02 сентября 2011

ProcessStartInfo имеет свойство WorkingDirectory, которое вы должны установить в C: \ myfolder

, см .: http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.workingdirectory.aspx

0 голосов
/ 02 сентября 2011

Вам необходимо сначала установить рабочий каталог

string foldervar = @"C:\myfolder";
Process process = new Process();
process.StartInfo.WorkingDirectory = foldervar;
process.StartInfo.FileName = @"cocacola.exe";
process.StartInfo.Arguments = @"pepsi.txt";
process.Start();

Установка WorkingDirectory эквивалентна cd в правильном каталоге перед запуском программ.Это то, к чему относительные пути относятся.

...