c # Выполнить командную строку и вернуть строку - PullRequest
2 голосов
/ 16 февраля 2012

Я не могу заставить это вернуть что-либо, я ожидаю список файлов в текущем каталоге, но он ничего не возвращает.

Ответы [ 2 ]

8 голосов
/ 16 февраля 2012

Вы можете выполнить эту работу, изменив Arguments на:

Arguments = "/C dir",

Флаг / C «Выполняет команду, указанную в строке, и затем останавливается.».Без этого cmd все еще выполняется, поэтому вы сразу не получите никакого вывода.

При этом для данного примера я бы лично использовал Directory.GetFiles или Directory.EnumerateFiles вместо процесса.

0 голосов
/ 16 февраля 2012

Если вы хотите перечислить файлы в каталоге, лучше всего использовать класс Directory из System.IO следующим образом:

using System.IO;

string[] files = Directory.GetFiles(@"C:\");

// loop to display the filenames
for (int i=0; i < files.Length(); i++) {
    Console.WriteLine(files[i]);
}

* обратите внимание, что это не полныйрабочий исходный код, потому что он не содержит функцию main().

...