У меня есть задача, в которой мне нужно запустить команды tabcmd из проекта С #, который будет читать отчеты таблиц с сервера и сохранять в файл pdf. Для этого я использую следующий код.
string reportPath = "/Agency/AYR_CurrentYearAgencyIATA=0125452&:refresh=yes";
string currentYearPdf = @"C:\Reports\StatusReport_CurrentYear_0125452.PDF";
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.WorkingDirectory = @"C:\tabcmd\Command Line Utility\";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardInput = false;
process.StartInfo.RedirectStandardOutput = false;
process.StartInfo.RedirectStandardError = false;
process.StartInfo.Arguments = "/C tabcmd login -s http://prodtableau -u xxx -p xxx";
process.Start();
process.StartInfo.Arguments = "'/C tabcmd export \"" + reportPath + "\"" +
" --pdf --pagelayout landscape--pagesize legal --width 1600 -f \"" + currentYearPdf +
"\"'";
process.Start();
Когда я запускаю эти команды tabcmd непосредственно из командной строки Comman, они выполняются нормально, и файл pdf сохраняется в моем локальном каталоге, но при запуске кода C # запускается второй процесс, но он никогда не заканчивается и не генерирует требуемый файл pdf. Используемая команда tabcmd:
tabcmd export "/ Agency / AYR_CurrentYearAgencyIATA = 0125452 &: refresh = yes" --pdf --pagelayout landscape --pagesize legal --width 1600 -f "C: \ Reports \ StatusReport_CurrentYear_0125452.PDF"