Как меняется каталог в Pandoc с помощью C #? - PullRequest
0 голосов
/ 05 июня 2018

Как установить каталог и выполнить преобразование файла в Pandoc с использованием C #.

        string processName = "pandoc.exe";          
        string arguments = @"cd C/Users/a/Desktop/ConvertFileApp/ConvertFileApp/bin/Debug/marcdovd "
                          + "chapter1.markdown "
                          + "chapter2.markdown "
                          + "chapter3.markdown "
                          + "title.txt "
                          + "-o progit.epub";

        var psi = new ProcessStartInfo
        {
            FileName = processName,
            Arguments = arguments,
            UseShellExecute = false,
            RedirectStandardOutput = true,
            RedirectStandardInput = true
        };

        var process = new Process { StartInfo = psi };
        process.Start();

этот код не работает.

1 Ответ

0 голосов
/ 05 июня 2018

Вы вызываете исполняемый файл с командой cd в качестве аргумента .Это эквивалентно запуску следующего в командной строке:

pandoc.exe cd C/Users/a/Desktop/ConvertFileApp/ConvertFileApp/bin/Debug/marcdovd chapter1.markdown chapter2.markdown chapter3.markdown title.txt -o progit.epub

Хотя я не знаком с Pandoc, я думаю, что вы действительно хотите сделать что-то вроде этого:

cd C:/Users/a/Desktop/ConvertFileApp/ConvertFileApp/bin/Debug/marcdovd
pandoc.exe chapter1.markdown chapter2.markdown chapter3.markdown title.txt -o progit.epub

Для этого удалите команду cd из ваших аргументов и установите свойство ProcessStartInfo.WorkingDirectory примерно так:

    string processName = "pandoc.exe";          
    string arguments = "chapter1.markdown "
                      + "chapter2.markdown "
                      + "chapter3.markdown "
                      + "title.txt "
                      + "-o progit.epub";

    var psi = new ProcessStartInfo
    {
        FileName = processName,
        Arguments = arguments,
        UseShellExecute = false,
        RedirectStandardOutput = true,
        RedirectStandardInput = true,
        WorkingDirectory = @"C:/Users/a/Desktop/ConvertFileApp/ConvertFileApp/bin/Debug/marcdovd"
    };

    var process = new Process { StartInfo = psi };
    process.Start();
...