Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
 
Vlad_IT
1440 / 346 / 60
Регистрация: 03.04.2010
Сообщений: 2,095
#1

Запуск Bat файлов - C++ Builder

25.09.2010, 01:13. Просмотров 12561. Ответов 29
Метки нет (Все метки)

Возможно ли как-нибудь запустить bat файлы программно. Пробовал с помощью Shell но не получил желаемого результата. Помогите пожалуйста.
http://www.cyberforum.ru/cpp-builder/thread1761159.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2010, 01:13
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Запуск Bat файлов (C++ Builder):

Запуск bat файла или команды в CMD, не выходит
Нужно настроить маршрутизацию, пробовал создавать bat файл, а потом его...

Запуск и удаление исполняемых файлов из каталога
Здравствуйте. Помогите пожалуйста разобраться в некоторых местах кода. Полное...

запуск файлов своей программой(открыть через.)
Здравствуйте! Подскажите пожалуйста, как бы Мне сделать так, что бы, когда Я...

Сохранение различных файлов в теле програмы (в создаваемой нами) и извлечение их(файлов) на локальный диск
Кароч тута такие дела: есть куча разных файликов которые пользователь проги...

Завершить .bat
Уважаемые форумчане подскажите как завершить работу батников, у них же нету...

29
Tarik20
21 / 22 / 5
Регистрация: 14.02.2013
Сообщений: 243
19.11.2014, 18:50 #21
Цитата Сообщение от Merser5 Посмотреть сообщение
Разные способы.
C++
1
2
3
4
5
6
7
void load()
{
    //WinExec("C:\\Users\\Admin\\Documents\\Visual Studio 2010\\Projects\\anketa\\skript\\dir.bat",SW_SHOW);
    //ShellExecute(Handle,"open","D:\\Clear.bat",NULL,NULL,SW_SHOW);
    system("dir C:\\Users\\Admin\\Documents\\Visual Studio 2010\\Projects\\anketa\\skript\\dir.bat /b && pause");
    
}
Попробуй вот:
C++
1
ShellExecute(Handle,"cmd",<Путь к файлу>,NULL,NULL,SW_SHOW);
0
Merser5
6 / 6 / 3
Регистрация: 10.12.2013
Сообщений: 116
19.11.2014, 18:59 #22
ошибка есть
C++
1
 error C2065: Handle: необъявленный идентификатор
0
Tarik20
21 / 22 / 5
Регистрация: 14.02.2013
Сообщений: 243
19.11.2014, 19:07 #23
Цитата Сообщение от Merser5 Посмотреть сообщение
ошибка есть
C++
1
 error C2065: Handle: необъявленный идентификатор
C++
1
ShellExecute(NULL,"cmd",<Путь к файлу>,NULL,NULL,SW_SHOW);
0
Merser5
6 / 6 / 3
Регистрация: 10.12.2013
Сообщений: 116
19.11.2014, 22:34 #24
ругается на
C++
1
"cmd","C:\\Users\\Admin\\Documents\\Visual Studio 2010\\Projects\\anketa\\skript\\dir.bat"
error C2664: ShellExecuteW: невозможно преобразовать параметр 2 из "const char [4]" в "LPCWSTR"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
0
lanu4
15 / 15 / 5
Регистрация: 21.08.2012
Сообщений: 115
Записей в блоге: 2
20.11.2014, 04:25 #25
Цитата Сообщение от Merser5 Посмотреть сообщение
ругается на
Код C++
1
"cmd","C:\\Users\\Admin\\Documents\\Visual Studio 2010\\Projects\\anketa\\skript\\dir.bat"
error C2664: ShellExecuteW: невозможно преобразовать параметр 2 из "const char [4]" в "LPCWSTR"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
ну так
C++
1
L"C:\\Users\\Admin\\Documents\\Visual Studio 2010\\Projects\\anketa\\skript\\dir.bat"
поставь.
0
Merser5
6 / 6 / 3
Регистрация: 10.12.2013
Сообщений: 116
20.11.2014, 05:53 #26
все равно ошибки
если так то ругается на путь к файлам

C++
1
system("dir C:\\Users\\Admin\\Documents\\Visual Studio 2010\\Projects\\anketa\\ankets\\");
если так то выводит
C++
1
dir C:\\Users\\
и еще если в названиях папок в пути есть пробелы то он их не рассматривает "Visual Studio 2010"
если кинуть bat файл в корень и прописать для запуска
C++
1
system ("start C:\\dir.bat");
открывает консоль и пишет что : C:\Users\Admin\Documents\Visual Studio 2010\Projects\anketa\
не является внутренней или внешней программой.
0
lanu4
15 / 15 / 5
Регистрация: 21.08.2012
Сообщений: 115
Записей в блоге: 2
20.11.2014, 07:57 #27
C++
1
2
String dir_bat = "Путь к файлу\\x64patch.bat";// у меня он на удаленной машине
ShellExecute(SETUP_ALL->Handle,L"open",dir_bat.w_str(),NULL,NULL,SW_SHOWNORMAL);
все работает.
тоже и в студии:
C#
1
2
3
4
5
6
7
8
System.Diagnostics.Process proc = new System.Diagnostics.Process();
mypath = "путь к файлу\\W7x64patch.bat";
proc.StartInfo.FileName = mypath;
proc.StartInfo.Arguments = "";
proc.StartInfo.UseShellExecute = true;
proc.StartInfo.ErrorDialog = true;
proc.Start();
proc.WaitForExit();
0
Merser5
6 / 6 / 3
Регистрация: 10.12.2013
Сообщений: 116
21.11.2014, 04:50 #28
тоже не работает, дело в том что есть проблема с кодировкой.
0
VinnieJones
0 / 0 / 1
Регистрация: 27.03.2013
Сообщений: 48
26.11.2014, 10:25 #29
есть ли способ запуска xshell файла формата .xsh?
0
MKshin
2 / 2 / 3
Регистрация: 16.09.2016
Сообщений: 13
02.11.2017, 16:38 #30
Товарищи, а можно ли как то запустить .bat от имени другого пользователя?

Нашел на форуме вот такую конструкцию:

C++
1
2
3
4
5
6
7
8
9
10
11
12
        PROCESS_INFORMATION ProcInfo;
        STARTUPINFOW StartInfo;
        ZeroMemory(&StartInfo, sizeof(STARTUPINFOW));
        StartInfo.cb = sizeof(STARTUPINFOW);
        StartInfo.lpDesktop = 0;
 
        CreateProcessWithLogonW( L"username", L"domain", L"password",
                                LOGON_WITH_PROFILE, NULL,
                                L"some.bat",
                                CREATE_DEFAULT_ERROR_MODE |
                                CREATE_NEW_CONSOLE, NULL, NULL,
                                &StartInfo, &ProcInfo );
Но она успешно запускает только .exe.

.bat её не слушаются, а может я что не правильно делаю подскажите, пожалуйста

Добавлено через 1 час 28 минут
Разобрался. Вопрос не актуален. Для тех, кого интересует этот же вопрос ответ тут: https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
0
02.11.2017, 16:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2017, 16:38
Привет! Вот еще темы с решениями:

Bat от имени администратора
Есть Bat файл который изменяет данные в реестре, на W7 требуются права админа...

Работа с bat-файлом
Подскажите, вот создаю батник: FileCreate(&quot;C:\\dd.bat&quot;); Как открыть этот...

Последовательный запуск нескольких BAT-файлов из основного BAT-файла
Доброго времени суток всем... Помогите кто понимает.. Есть bat... @echo off...

Запуск bat-файлов с параметрами, являющимися модификациями принятого запускающим bat-файлом параметра
Написать командный файл, который: • принимает в качестве параметра полное имя...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru