Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 12.08.2016
Сообщений: 11
1

Bat-файл, запускающий процесс с параметрами и действующий взависимости от ответа проесса

14.05.2017, 00:47. Показов 2501. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Необходимо написать bat файл, который будет запускать процесс с++, передавая аргумент. Этот процесс в свою очередь в зависимости от аргумента возвращает разное значение, от которого зависит действие нашего bat файла.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main(int argc, char* argv[])
{
    if (*argv[0] == '1')
    {
        cout << "1" << endl;
        system("pause");
        
        return 1;
    }
    else
    {
        cout << "0" << endl;
        system("pause");
        
        return 0;
    }
 
    return 0;
}
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@echo off
cls
 
echo Enter value 1:
set /p option=
 
start C:\Users\Chir\Desktop\Lab_11\Debug\Lab_11.exe  %option%
 
pause
 
echo %errorlevel%
 
if %errorlevel% == 1 (echo Good job!)
 
pause;
Проблема в том, что оно не работает, ну т.е. если я пишу 1 или 2 всегда %errorlevel% == 0
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2017, 00:47
Ответы с готовыми решениями:

Bat-файл, запускающий другой bat-файл в нужной кодировке (дубль 2)
Здраствуйте! Суть вопроса в следующем. У меня есть батник который генерируется при формировании...

Bat-файл, запускающий другой bat-файл в нужной кодировке
Здраствуйте! Суть вопроса в следующем. У меня есть батник который генерируется при формировании...

Определить процесс, блокирующий файл bat
Возможно ли определить процесс блокирующий файл?

Нужно несколько раз запустить один .bat файл с разными параметрами.
Прошу помочь советом. Мне надо из VB appl (Windows NT)несколько раз запустить один и тотже .bat...

5
4334 / 2124 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
14.05.2017, 01:27 2
Цитата Сообщение от AlexeyCherneny Посмотреть сообщение
если я пишу 1 или 2
да хоть миллион, %errorlevel% == 1 будет если не ввести ничего
0
4334 / 2124 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
14.05.2017, 01:37 3
Bat-файл, запускающий процесс с параметрами и действующий взависимости от ответа проесса
1
0 / 0 / 0
Регистрация: 12.08.2016
Сообщений: 11
14.05.2017, 01:57  [ТС] 4
Но вы же вызываете второй bat файл, в который передаете параметры, а мне нужно скомпилировать пример, который написан на с++(не уверен, что он правильный) и вызвать его, передав ем параметры на вход, чтобы он изменил %errorlevel%
0
Любознательный
5672 / 1687 / 314
Регистрация: 10.03.2016
Сообщений: 3,844
14.05.2017, 05:34 5
Лучший ответ Сообщение было отмечено AlexeyCherneny как решение

Решение

Цитата Сообщение от AlexeyCherneny Посмотреть сообщение
Проблема в том, что оно не работает
С этим вопросом, Вам надо было в раздел C++ обратиться...
Ну, раз уж здесь спросили:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main(int argc, char* argv[])
{
    if (argc > 1)
    {
        if (*argv[1] == '1')
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }
    else
    {
        cout << "Not arguments" << endl;
    }
}
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
cls
echo Enter value 1:
set /p option=
 
test_err.exe  %option%
 
echo %errorlevel%
 
if "%errorlevel%"=="1" (echo Good job!)
 
pause
1
4334 / 2124 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
14.05.2017, 13:33 6
или чтобы с пробелами не ошибиться условие ошибки можно и так записывать:
Windows Batch file
1
if errorlevel 1 echo Good job!
AlexeyCherneny,
единственно я не пойму ошибку чего вы пытаетесь увидеть
запустив файл test_err.exe %option% коду все равно что с ним (файлом) будет, я выше показал на что он отреагирует
в код bat вы уже не возвращаетесь после запуска c++ и все что вы хотите увидеть в нем там надо и писать и смотреть
0
14.05.2017, 13:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.05.2017, 13:33
Помогаю со студенческими работами здесь

Ограничить пользователя в одной программе путем ее запуска через bat-файл с параметрами
Доброго времени суток. Такая беда: Имеется системник, win7, пьяные люди орут в караоке. Нужно...

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

Как создать запускающий файл?
недавно решил заняться программированием C++, начал делать шахматы, при запуске программы выдает...

В vb5 создать запускающий файл (скомпилировать)
Как в vb5 создать запускающий файл (скомпилировать), чтобы все работало без установленной программы...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru