Задать вопрос
@Drottarutarnum
Любопытный любитель

Почему не выходит выполнить команду?

Есть код
var command = "\"C:\\Program Files (x86)\\TestProg\\TestProg.exe\" -c -d";
Process.Start("cmd.exe", "/k " + command);

Который выдает ошибку
"C:\Program" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.


Но если я напишу это в .bat и запущу то все работает
"C:\Program Files (x86)\TestProg\TestProg.exe" -c -d


В чем дело?
  • Вопрос задан
  • 544 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
попробуйте
var command = @"C:\Program Files (x86)\TestProg\TestProg.exe -c -d";


Drottarutarnum,
дело в том, что там куча переменных из вне которые меняют команду, я не могу выполнять файл
это вопрос только ваших умений работы со строками

Александр Юдаков,
ну или так?
using System.Diagnostics;

namespace run_app
{
    class Program
    {
        static void Main(string[] args)
        {
            var pi = new ProcessStartInfo();
            pi.FileName = @"C:\Program Files\Notepad++\notepad++.exe";
            pi.Arguments = @"C:\Windows\System32\drivers\etc\hosts";
            Process.Start(pi);
        }
    }
}

выхлоп YC6ROFL.png
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
AlexanderYudakov
@AlexanderYudakov
C#, 1С, Android, TypeScript
Никакие "cmd.exe /k" здесь не нужны.

Process.Start("C:\\Program Files (x86)\\TestProg\\TestProg.exe", "-c -d");
Ответ написан
yarosroman
@yarosroman Куратор тега C#
C# the best
Вам нужно путь заключить в кавычки и экранировать их
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы