none
Исполнение cmd-команд в c# RRS feed

  • Вопрос

  • Доброго времени суток. Подскажите пожалуйста, как можно выполнить cmd команды из c#

    Пробовал через Process.Start() все работает, но только если команда однострочная, а если мне нужно выполнить несколько строк? Например

    @echo off

    D:

    cd D:\Folder\Subfolder\Subfoler

    Program.exe

    7 августа 2014 г. 10:52

Ответы

  • Вот так работает:

            static void Main(string[] args)
            {
                const string commands = @"@echo off
                                          d:
                                          cd d:\games\doom 3\
                                          doom3.exe"; 
                var process = new Process
                {
                    StartInfo = new ProcessStartInfo
                    {
                        FileName = "cmd.exe",
                        RedirectStandardInput = true,
                        UseShellExecute = false
    
                    }
                };
                process.Start();
    
                using (StreamWriter pWriter = process.StandardInput)
                {
                    if (pWriter.BaseStream.CanWrite)
                    {
                        foreach (var line in commands.Split('\n'))
                            pWriter.WriteLine(line);
                    }
                }
            }



    • Изменено arndtdv 7 августа 2014 г. 17:34
    • Помечено в качестве ответа sksoft 8 августа 2014 г. 5:03
    7 августа 2014 г. 11:16
  • System.Diagnostics.Process process = new System.Diagnostics.Process();
    System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
    startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    startInfo.FileName = "cmd.exe";
    startInfo.Arguments = "/C copy /b Image1.jpg + Archive.rar Image2.jpg";
    startInfo.Arguments = "/C copy /b Image3.jpg + Archive2.rar Image4.jpg";
     ////
    process.StartInfo = startInfo;
    process.Start();
    • Изменено Taras KovalenkoBanned 7 августа 2014 г. 12:50
    • Помечено в качестве ответа sksoft 8 августа 2014 г. 5:03
    7 августа 2014 г. 12:48

Все ответы