Мне нужно запрограммировать что-то на C, которое может выполнять файл .bat в Windows.
Естественно, функция system()
должна прийти на ум.Тем не менее, существует огромная проблема .По сути, функция system()
не выполняется.
То, что я пробовал:
1) Компиляция и запуск моего кода из терминала Cygwin работает, однако это не совсем реально, потому что яМне нужно перенести мою программу на другой компьютер, и установка Cywind на каждом из них - просто плохая идея.
2) Я попытался перейти на C:\Windows\System32\
и все еще не работает.
3) Я пытался с popen()
, и все еще не работает.
4) Может ли это быть из-за используемого мной компилятора: Cywin64 на CLion?Но даже если я изменил среду на Windows Subsystem for Linux, она все равно НЕ работает!
На данный момент я потерял много клеток мозга и почти сдался.
После всех попыток, я думаю, причина в том, что либо system()
попытался бы запустить команду из /bin/sh
, которая недоступна при запуске из обычного окна консоли cmd, либо system()
просто откровенносломана.Кроме того, не только запуск пакета, но и любая другая команда cmd не будет работать.Черт, даже ls
не будет работать.
Поиск в Google не помогает вообще.
Все, что мне действительно нужно, - это запускать файл .bat внутри программы на Си.В основном это.Любой совет?