Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2012, 19:16   #1
неПрограммистка12
 
Аватар для неПрограммистка12
 
Регистрация: 06.05.2012
Сообщений: 6
Вопрос Командная строка. пакетные файлы.


Задание
Пакетный файл(.bat), который для двух указанных в качестве параметров исполняемых файлов запускает первый, если третий параметр равен 1 или второй, если третий параметр равен 2. При отсутствии параметров или программ выдать соответствующее сообщение.

Преподаватель сказал, не использовать метки goto с,а и т.д.
с метками работает.
Код:
@echo off
if  -%1==- goto d
if  -%2==- goto d
if  -%3==- goto d
if %3==1 goto a
if %3==2 goto b
if not exist %1 goto c
if not exist %2 goto c
if -%3 NEQ 1 goto c
if -%3 NEQ 2 goto c
:a
%1.exe
goto exit
:b
%2.exe
goto exit
:c
echo Nevernyi parameter!
goto exit
:d
echo Must be parameter!!!
goto exit
:exit

Без меток не получается отладить программу. Вот код.
Код:
@echo off
if  -%1==- echo Must be parameter!!!  & goto exit
if  -%2==- echo Must be parameter!!!  & goto exit
if  -%3==- echo Must be parameter!!!  & goto exit
if -%3 NEQ 1 echo Nevernyi parameter! & goto exit
if -%3 NEQ 2 echo Nevernyi parameter! & goto exit
if not exist %1 echo Nevernyi parameter! & goto exit
if not exist %2 echo Nevernyi parameter! & goto exit
if -%3==1 %1.exe else %2.exe & goto exit
:exit
неПрограммистка12 вне форума Ответить с цитированием
Старый 30.05.2012, 20:34   #2
неПрограммистка12
 
Аватар для неПрограммистка12
 
Регистрация: 06.05.2012
Сообщений: 6
По умолчанию

Буду очень благодарна!! Реально тупик...
неПрограммистка12 вне форума Ответить с цитированием
Старый 30.05.2012, 21:15   #3
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Код:
if "%1-"=="-" (
  echo must specify first file
) ELSE  (

  if "%2-"=="-" (
    echo must specify second file
  ) ELSE  (

    if exist "%1" (

      if exist "%2" (

        if "%3"=="1" (

          "%1"
        ) ELSE (

          if "%3"=="2" (
   
            "%2"
          ) ELSE (
            echo third param must be either 1 or 2
          )
       )
        
      ) ELSE  (
        echo second file must exist
      )

    ) ELSE  (
      echo first file must exist
    )
  )

)
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 31.05.2012, 02:31   #4
неПрограммистка12
 
Аватар для неПрограммистка12
 
Регистрация: 06.05.2012
Сообщений: 6
По умолчанию

veniside, спасибо большое, но как сделать чтоб она в echo всё не убирала?)

Изображения
Тип файла: jpg прога.jpg (22.1 Кб, 132 просмотров)
неПрограммистка12 вне форума Ответить с цитированием
Старый 01.06.2012, 10:41   #5
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

ну как обычно, добавить @echo off в начало файла.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 01.06.2012, 17:42   #6
неПрограммистка12
 
Аватар для неПрограммистка12
 
Регистрация: 06.05.2012
Сообщений: 6
По умолчанию

Спасибо!!!!)))))
неПрограммистка12 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Командная строка Карина 1578 Помощь студентам 1 07.02.2012 21:17
Командная строка Natka.Elka Помощь студентам 1 15.12.2011 01:11
Пакетные файлы MO_oNLight Помощь студентам 0 30.05.2010 13:59
Командная строка Morphling Помощь студентам 9 01.02.2010 00:27
пакетные файлы zirofix Помощь студентам 10 26.01.2010 22:52