0 / 0 / 0
Регистрация: 06.04.2020
Сообщений: 42
1

Запустить bat файл по нажатию кнопки

08.04.2020, 12:55. Показов 1918. Ответов 8
Метки нет (Все метки)

подскажите пожалуйста как запустить bat файл который лежит в корне диска С по нажатию на кнопку, пробовал много вариантов но все не работает, если не сложно код ... Спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.04.2020, 12:55
Ответы с готовыми решениями:

Как запустить сторонний exe-файл по нажатию кнопки?
Как открыть в формах . ехе, с помощью кнопки ?

Если установлена .NET Framework 4.0, то запустить BAT-файл, если нет, то установить и затем запустить BAT-файл
всем привет! есть такая задачка: определить установлен ли .net на удаленной машине, если нет...

Как запустить bat файл командой cmd /k передав bat файлу дополнительные аргументы
Как передать bat файлу, запускаемому через cmd /k аргументы? Это был первый вопрос, а теперь вот...

Как запускать bat-файлы по нажатию кнопки?
Здравствуйте , так как полный нуб в программировании прошу помощи у знатных питоноводов :) Скрипт...

8
7170 / 6144 / 2803
Регистрация: 14.04.2014
Сообщений: 26,478
08.04.2020, 13:00 2
QProcess.
0
0 / 0 / 0
Регистрация: 06.04.2020
Сообщений: 42
08.04.2020, 15:54  [ТС] 3
Спасибо получилось
0
0 / 0 / 0
Регистрация: 06.04.2020
Сообщений: 42
14.04.2020, 11:11  [ТС] 4
Хотя я поспешил с выводами bat файл запускается но не полностью, если я его запускаю двойным кликом то все работает, если через кнопку в qt то не корректно, в чем может быть дело?


QProcess *p new QProcess;
static const QString PROG = "C://sketch//build.bat";
p->startDetached(PROG);
0
2427 / 1169 / 433
Регистрация: 08.11.2016
Сообщений: 3,242
14.04.2020, 11:33 5
Reketir10, во-первых экранировать слэш не нужно, он не является для С++ специальным символом, экранировать было бы нужно используйте Вы бэкслэш, то есть либо
C++ (Qt)
1
static const QString PROG = "C:/sketch/build.bat";
либо
C++ (Qt)
1
static const QString PROG = "C:\\sketch\\build.bat";
Проблема вероятно в одном из двух (или в обоих):
1. в уровне привилегий - батник будет запускаться с уровнем привилегий приложения.
2. если в батнике используются относительные пути к файлам, то считаться они будут от QProcess::workingDirectory используйте QProcess::setWorkingDirectory
0
0 / 0 / 0
Регистрация: 06.04.2020
Сообщений: 42
14.04.2020, 11:48  [ТС] 6
Батник запускается без администратора, а второй пункт не сработал вообще( в чем разница команд двойного клика на батник или его qt запустит
0
2427 / 1169 / 433
Регистрация: 08.11.2016
Сообщений: 3,242
14.04.2020, 12:02 7
Цитата Сообщение от Reketir10 Посмотреть сообщение
а второй пункт не сработал вообще(
QProcess::setWorkingDirectory вызываете до QProcess::startDetached? Покажите как.
0
0 / 0 / 0
Регистрация: 06.04.2020
Сообщений: 42
14.04.2020, 13:28  [ТС] 8
QProcess *p = new QProcess;
p->setWorkingDirectory ("C:/......");
p->startDetached("C:/......");


Пишу с телефона , другой возможности щас нет , поэтому извеняйте)))

Добавлено через 1 час 19 минут
Annemesski, правильно? нет?
0
2427 / 1169 / 433
Регистрация: 08.11.2016
Сообщений: 3,242
14.04.2020, 14:52 9
Лучший ответ Сообщение было отмечено Reketir10 как решение

Решение

Reketir10, правильно, если так:
C++ (Qt)
1
2
3
QProcess *p = new QProcess;
p->setWorkingDirectory ("path_to_dir"); // path_to_dir "C:/skatch"
p->startDetached("path_to_file"); // path_to_file "C:/skatch/build.bat"
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.04.2020, 14:52
Помогаю со студенческими работами здесь

Как запустить скрипт по нажатию кнопки?
Здравствуйте, я новичек в django и нужна помощь желательно с примером есть код таймера который...

Запустить стороннее приложение по нажатию кнопки
Доброго времени суток Очень мучаюсь с проблемкой Нужно запустить сторонние приложение по...

Как запустить PHP скрипт по нажатию кнопки?
Здравствуйте! Уже несколько дней не могу решить вопрос, искал ответ в разных областях - не смог...

Как запустить Google Chrome по нажатию кнопки?
Как при нажатии кнопки запустить Chrome, чтобы она сразу переходила на начальную страницу яндекс?

Как запустить по нажатию кнопки два потока?
Всем здравствуйте. Использую в приложение потоки. Скажите пожалуйста как запустить по нажатию...

Как запустить PHP скрипт по нажатию кнопки
Здравствуйте На HTML странице есть кнопка после нажатия которой надо запустить скрипт PHP после...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru