Сложная команда cmd на C #

#c# #cmd #process #arguments #processstartinfo

#c# #cmd #процесс #аргументы #processstartinfo

Вопрос:

сначала — да, я читал похожие темы, и нет, у меня это все еще не работает : (

У меня есть довольно длинная команда, которую мне нужно вызвать из cmdline. Она содержит почти все специальные символы, такие как «, , пробелы… поэтому я не знаю, в чем ошибка…

 public void PartsDatabaseCSVExport()
    {
        String command;
        String exePath = @"C:Program FilesEPLANPlatform2.7.3BinEplan.exe";
        String product = "Electric P8"; 
        String configFile = @"D:EPLAN1_MASTER_DATADataArtiklEPLAN_CZcsvimportexport - RMT.cfg";
        String outputFile = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
        outputFile ="\EPLAN_Custom\exportC.csv";

        command = $"/k"{exePath}" /Variant: "{product}" /NoSplash /Frame:0 /Auto /Quiet partslist /TYPE:EXPORTFROMSYSTEM /SQLFILTERPART:1=1 /FORMAT:IXPamImportCSV /CFGFILE: "{configFile}" /EXPORTFILE: "{outputFile}"";

        ProcessStartInfo startInfo = new ProcessStartInfo();
        startInfo.FileName = "cmd.exe";
        startInfo.Arguments = command;

    try
        {
            // Start the process with the info we specified.
            // Call WaitForExit and then the using statement will close.
            using (Process exeProcess = Process.Start(startInfo))
            {
                exeProcess.WaitForExit();
            }
        }
        catch
        {
            // Log error.
        }


    }
  

Она игнорирует метки quates вокруг exePath и получает только C:Program ….

Спасибо за любую помощь…

Комментарии:

1. Вы пробовали дословно интерполировать строку? $@»…»

2. Если только это «Eplan.exe «выполняет ли чтение или запись в консоль чего-либо, с чем вы хотите взаимодействовать, я бы посоветовал не выполнять «cmd.exe » процесс для выполнения»Eplan.exe » но выполните более позднюю команду напрямую.

3. /k"C:Program FilesEPLANPlatform2.7.3BinEplan.exe" /Variant: "Electric P8" кажется, что она работает нормально, за исключением нехватки места между k и " . Покажите нам, пожалуйста, какую строку вы пытаетесь получить.

4. Итак, в качестве имени файла выбрать прямой exePath? Она вызывает EPLAN, но, вероятно, без аргументов… Она просто отображает сообщение об ошибке об отсутствии какого-либо XML-файла…

5. Вся команда должна быть такой: «C:Program FilesEPLANPlatform2.7.3BinEplan.exe » /Вариант: «Electric P8″ /NoSplash /Frame: 0 /Auto / Quiet список компонентов /ТИП:EXPORTFROMSYSTEM /SQLFILTERPART:1=1 /ФОРМАТ:IXPamImportCSV /CFGFILE:»D:EPLAN1_MASTER_DATADataArtiklEPLAN_CZcsvimportexport — RMT.cfg» /ЭКСПОРТНЫЙ ФАЙЛ:»C:UsersdlbAppDataRoamingEPLAN_Customexport.csv »