@Drottarutarnum
Web, Embedded and C#

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

Есть код
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


В чем дело?
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
mindtester
@mindtester Куратор тега C#
учусь не реагировать на вопросы.. пока трудно.. ))
попробуйте
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
Вам нужно путь заключить в кавычки и экранировать их
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
ПРОФЭЛИТ Казань
от 100 000 до 170 000 ₽
GD Company Санкт-Петербург
от 120 000 до 150 000 ₽
Mystery Tag Новосибирск
от 80 000 до 110 000 ₽