C #: начать процесс с несколькими аргументами, в любом случае один из них будет равен textbox.text? - PullRequest
0 голосов
/ 06 февраля 2012

Приложение Windows Forms, вызывающее командную строку с кнопки.Мне удалось передать ему несколько аргументов следующим образом

Process execute = new Process();
execute.StartInfo.WorkingDirectory = minusstring; //string equal to textBox1.Text
execute.StartInfo.FileName = @"cmd";
execute.StartInfo.Arguments = @"-log d:file.txt -c ""arg2"" -y ""arg3"" -z ""HOW?""";
execute.Start()

Что я спрашиваю, так это способ заполнить аргумент -z (как в моем коде) значением textBox2.Text, котороезаполняется пользователем.Значение, заполненное пользователем - это путь к файлу на локальном диске, скажем, c: \ Folder \ foo.txt

Имейте в виду меня и возможные глупые ошибки, я только начал учиться.

Ответы [ 4 ]

6 голосов
/ 06 февраля 2012

Я бы использовал String.Format для надлежащего форматирования строки аргумента:

execute.StartInfo.Arguments = 
    String.Format("-log d:file.txt -c \"arg2\" -y \"arg3\" -z \"{0}\"",
                  textBox1.Text);

Вы также можете просто выполнить простую конкатенацию строк, которая будет работать нормально, если у вас есть только один параметр для замены.Если вам нужно что-то, что будет масштабироваться до большего количества параметров, придерживайтесь String.Format ().

2 голосов
/ 06 февраля 2012

execute.StartInfo.Arguments = @ "- log d: file.txt -c" "arg2" "-y" "arg3" "-z" + textBox2.Text;

Это должно работать. Вам просто нужно сделать объединение строк .

1 голос
/ 06 февраля 2012

Вы должны быть в состоянии сделать это примерно так, если предположить, что textBox2 находится в области действия

execute.StartInfo.Arguments = @"-log d:file.txt -c ""arg2"" -y ""arg3"" -z " + textBox2.Text;
1 голос
/ 06 февраля 2012

Если это просто строка ...

execute.StartInfo.Arguments = string.Format(@"-log d:file.txt -c ""arg2"" -y ""arg3"" -z ""{0}""", minusstring);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...