Я использую QT в приложении Windows (не знаю, имеет ли это значение) и хочу запустить какой-то процесс из своего приложения, используя QProcess
. (фактически через оболочку qtscript, которая использует QProcess
)
Кажется, это работает, но у меня возникают проблемы при использовании более продвинутых командных строк, таких как подключение программ с использованием каналов.
Если я запускаю процесс, используя следующие строки программы:
QProcess proc;
QString command = "grep \"false negatives\" test.txt | cut -f2";
proc.start(command);
Команда grep жалуется, что не может найти файл «2». поэтому очевидно, что командная строка не интерпретируется так, как я ожидал.
если я префикс cmd /C
к команде, она работает хорошо, но это, очевидно, больше не зависит от ОС и может иметь некоторые дополнительные предостережения относительно параметра командной строки.
Есть ли какой-нибудь Qt-подобный способ справиться с этим и заставить Qt использовать какой-то интерпретатор командной строки по умолчанию?