wmmail.ru – cервис почтовых рассылок на главную
написать письмо
карта сайта

С чего начать?РекламодательПравилаFAQСтатистикаБиржа статейTOP100ФоткиКонтакты
Логин:
Пароль: 
Регистрация   Забыли пароль?
WMLogin
Пользователей всего:

542561

Пользователей сегодня:

51

Пользователей online:

180

Выплачено ($): 7`602`620,61
Выплат: 8`111`733
Писем прочитано: 1`024`931`971

 
 
Online 1
Все ответы
 
 

Вопрос #35899

Внимание! В разделе вопрос-ответ запрещается:

  • Мат, оскорбления, флуд, реклама
  • Сообщения, не являющиеся вопросами/ответами
  • Нарушение законодательства РФ
  • Попрошайничество в любой форме

Выделите текст и нажмите для цитирования  #  
+6   [16.10.2011 16:54] andrey1313 Рейтинг 143.23     Стена пользователя andrey1313 +144

Закрытый вопрос от пользователя andrey1313 Кто знает как писать командные файлы (*. bat и *.cmd)

Обьясните как написать программу
1) Создать командный файл, который будет помогать в проведении метеосводок. При вызове командного файла указать кодовое слово: "снег", "дождь", "солнце". Если кодовое слово "снег", то вывести сообщение, что погода будет морозная от -15 до -20. Если кодовое слово "дождь", то погода будет слякотная температура около 0. Если кодовое слово солнце, на улице будет солнечно температура +20. Если параметр не указан, то вывести: "Метеорология бессильна".

Вот мой пример написания программы

@ECHO OFF
ECHO Meteqsvodka
REM KAKAYA SEYCHAS POGODA
IF -%1=-SNEG GOTO I
IF -%1=-DOJD GOTO P
IF -%1=-SOLNCE GOTO S
GOTO EXIT
:I
REM TEMPERATURA BUDET OT
ECHO -15 DO -20
GOTO EXIT
:P
REM TEMPERATURA BUDET
ECHO OKOLO 0
GOTO EXIT
:S
REM TEMPERATURA BUDET
ECHO +20
GOTO EXIT
REM KONEC
pause
:exit


НО ПОЧЕМУ ТО ПРИ ЗАПУСКЕ ПРОСТО ЗАПУСКАЕТСЯ И ВЫЛЕТАЕТ СРАЗУ
Раздел: Домашние задания, последний комментарий: 17.10.2011 18:48
Вопрос закрыт автором
Проголосовали: #831226, robmast, dnluser, #910812, #816318, _P_I_R_A_T_

Ответы
Ответов всего: 16  вопрос закрыт 
Выделите текст и нажмите для цитирования  #  
0   [16.10.2011 17:48] #478630   Все ответы пользователя

а как создаете его? самое элементарное просто в блокноте
Выделите текст и нажмите для цитирования  #  
+1   [16.10.2011 17:55] #804552   Все ответы пользователя

Лови

@ECHO OFF
REM
CLS
ECHO KAKAYA SEYCHAS POGODA?
pause
:I
ECHO TEMPERATURA BUDET OT
ECHO "-15 DO -20"
pause
:P
ECHO TEMPERATURA BUDET
ECHO "OKOLO 0"
pause
:S
ECHO TEMPERATURA BUDET
ECHO "+20"
pause
ECHO KONEC
:exit


P/S IF в батнике - издевательство...
Проголосовали: #724198
Выделите текст и нажмите для цитирования  #  
+2   [16.10.2011 17:58] #693362   Все ответы пользователя

вирусню надумал писать ...
Про код не скажу, а вот файлы такие действительно в блокноте пишутся, а потом просто расширение в имени файла присваиваешь
Проголосовали: #476038, SOVA1234
Выделите текст и нажмите для цитирования  #  
0   [16.10.2011 18:04] andrey1313 Рейтинг 143.23     Стена пользователя andrey1313 +144  Все ответы пользователя andrey1313

#478630 пишет а как создаете его? самое элементарное просто в блокноте

Я так и делаю
Выделите текст и нажмите для цитирования  #  
0   [16.10.2011 20:17] dnluser Рейтинг 0.00     Стена пользователя dnluser +6  Все ответы пользователя dnluser

Чтобы не вылетало сразу - после метки :exit напиши команду pause.
Выделите текст и нажмите для цитирования  #  
0   [16.10.2011 21:17] andrey1313 Рейтинг 143.23     Стена пользователя andrey1313 +144  Все ответы пользователя andrey1313

dnluser пишет Чтобы не вылетало сразу - после метки :exit напиши команду pause.

Мдааа все такие умные вы хоть проверяли бы сначало, а не советы давали, а это я уже пробовал
Выделите текст и нажмите для цитирования  #  
0   [17.10.2011 05:11] #816318   Все ответы пользователя

andrey1313 пишет @ECHO OFF

Смысл отключать все сообщения? Вам же нужно что-то вывести на экран! Удалите тогда эту строчку. Попробуйте после каждой (!) строчки поставить pause, так можно будет определить место вылета батника.
Выделите текст и нажмите для цитирования  #  
0   [17.10.2011 10:40] #956005   Все ответы пользователя

Вы неправильно используете If
вместо:
if -%1=-SNEG GOTO I
пишем:
if "%1"=="SNEG" GOTO I
==
Если исправить это, то код будет такой:
===
@ECHO OFF
ECHO Meteqsvodka
REM KAKAYA SEYCHAS POGODA
IF "%1"=="SNEG" GOTO I
IF "%1"=="DOJD" GOTO P
IF "%1"=="SOLNCE" GOTO S
GOTO EXIT
:I
REM TEMPERATURA BUDET OT
ECHO -15 DO -20
GOTO EXIT
:P
REM TEMPERATURA BUDET
ECHO OKOLO 0
GOTO EXIT
:S
REM TEMPERATURA BUDET
ECHO +20
GOTO EXIT
REM KONEC
pause
:exit
===
Проверил,у меня работает

Добавлено спустя 02 минуты 31 секунду
#816318 пишет
andrey1313 пишет @ECHO OFF

Смысл отключать все сообщения? Вам же нужно что-то вывести на экран! Удалите тогда эту строчку. Попробуйте после каждой (!) строчки поставить pause, так можно будет определить место вылета батника.

Отключено только эхо, вывод сообщений этой командой не отключается. Не зная таких основ лучше не лезть
Выделите текст и нажмите для цитирования  #  
0   [17.10.2011 10:45] andrey1313 Рейтинг 143.23     Стена пользователя andrey1313 +144  Все ответы пользователя andrey1313

#816318 пишет
andrey1313 пишет @ECHO OFF

Смысл отключать все сообщения? Вам же нужно что-то вывести на экран! Удалите тогда эту строчку. Попробуйте после каждой (!) строчки поставить pause, так можно будет определить место вылета батника.

Поставил паузу после каждой строки
появилось сообшение "Непредвиденное появление =-SNEG"

Добавлено спустя 19 минут 47 секунд
#956005 пишет Вы неправильно используете If
вместо:
if -%1=-SNEG GOTO I
пишем:
if "%1"=="SNEG" GOTO I
==
Если исправить это, то код будет такой:
===
@ECHO OFF
ECHO Meteqsvodka
REM KAKAYA SEYCHAS POGODA
IF "%1"=="SNEG" GOTO I
IF "%1"=="DOJD" GOTO P
IF "%1"=="SOLNCE" GOTO S
GOTO EXIT
:I
REM TEMPERATURA BUDET OT
ECHO -15 DO -20
GOTO EXIT
:P
REM TEMPERATURA BUDET
ECHO OKOLO 0
GOTO EXIT
:S
REM TEMPERATURA BUDET
ECHO +20
GOTO EXIT
REM KONEC
pause
:exit
===
Проверил,у меня работает

Добавлено спустя 02 минуты 31 секунду
#816318 пишет
andrey1313 пишет @ECHO OFF

Смысл отключать все сообщения? Вам же нужно что-то вывести на экран! Удалите тогда эту строчку. Попробуйте после каждой (!) строчки поставить pause, так можно будет определить место вылета батника.

Отключено только эхо, вывод сообщений этой командой не отключается. Не зная таких основ лучше не лезть

Скопировал один в один ваш предложенный текст программы сохранил его в формате bat, но при запуске он просто загружаеться и сразу отключаеться:cry:
Выделите текст и нажмите для цитирования  #  
0   [17.10.2011 11:08] Esa_ko Рейтинг 1555.91     Стена пользователя Esa_ko +245  Все ответы пользователя Esa_ko

andrey1313 пишет andrey1313

А заем тебе батник? да еще и про снег)

Добавлено спустя 01 минуту 46 секунд
andrey1313 пишет но при запуске он просто загружаеться и сразу отключаеться

не выключается а выполняется, просто быстро очень
надо напишу любой, но за $
Выделите текст и нажмите для цитирования  #  
0   [17.10.2011 11:16] andrey1313 Рейтинг 143.23     Стена пользователя andrey1313 +144  Все ответы пользователя andrey1313

Esa_ko пишет А заем тебе батник? да еще и про снег)

Да я первый курс информатов изучаем щас простые программы, а не пишем вирусы как тут выше обзывались:smile:
Выделите текст и нажмите для цитирования  #  
0   [17.10.2011 11:21] Den_Rosl_Job Рейтинг 439.69     Стена пользователя Den_Rosl_Job +78  Все ответы пользователя Den_Rosl_Job

andrey1313 пишет
Esa_ko пишет А заем тебе батник? да еще и про снег)

Да я первый курс информатов изучаем щас простые программы, а не пишем вирусы как тут выше обзывались:smile:

А не проще ли тогда будет у преподавателя спросить???
Выделите текст и нажмите для цитирования  #  
0   [17.10.2011 11:30] andrey1313 Рейтинг 143.23     Стена пользователя andrey1313 +144  Все ответы пользователя andrey1313

Den_Rosl_Job пишет
andrey1313 пишет
Esa_ko пишет А заем тебе батник? да еще и про снег)

Да я первый курс информатов изучаем щас простые программы, а не пишем вирусы как тут выше обзывались:smile:

А не проще ли тогда будет у преподавателя спросить???

Так мне ей надо лаболаторную сдать с этой программой, иначе не засчитает так
Выделите текст и нажмите для цитирования  #  
0   [17.10.2011 12:14] #816318   Все ответы пользователя

andrey1313 пишет
#816318 пишет
andrey1313 пишет @ECHO OFF

Смысл отключать все сообщения? Вам же нужно что-то вывести на экран! Удалите тогда эту строчку. Попробуйте после каждой (!) строчки поставить pause, так можно будет определить место вылета батника.

Поставил паузу после каждой строки
появилось сообшение "Непредвиденное появление =-SNEG"

Добавлено спустя 19 минут 47 секунд
#956005 пишет Вы неправильно используете If
вместо:
if -%1=-SNEG GOTO I
пишем:
if "%1"=="SNEG" GOTO I
==
Если исправить это, то код будет такой:
===
@ECHO OFF
ECHO Meteqsvodka
REM KAKAYA SEYCHAS POGODA
IF "%1"=="SNEG" GOTO I
IF "%1"=="DOJD" GOTO P
IF "%1"=="SOLNCE" GOTO S
GOTO EXIT
:I
REM TEMPERATURA BUDET OT
ECHO -15 DO -20
GOTO EXIT
:P
REM TEMPERATURA BUDET
ECHO OKOLO 0
GOTO EXIT
:S
REM TEMPERATURA BUDET
ECHO +20
GOTO EXIT
REM KONEC
pause
:exit
===
Проверил,у меня работает

Добавлено спустя 02 минуты 31 секунду
#816318 пишет
andrey1313 пишет @ECHO OFF

Смысл отключать все сообщения? Вам же нужно что-то вывести на экран! Удалите тогда эту строчку. Попробуйте после каждой (!) строчки поставить pause, так можно будет определить место вылета батника.

Отключено только эхо, вывод сообщений этой командой не отключается. Не зная таких основ лучше не лезть

Скопировал один в один ваш предложенный текст программы сохранил его в формате bat, но при запуске он просто загружаеться и сразу отключаеться:cry:

Исправленный код:
@ECHO OFF
ECHO Meteqsvodka
REM KAKAYA SEYCHAS POGODA
IF "%1"=="SNEG" GOTO I
IF "%1"=="DOJD" GOTO P
IF "%1"=="SOLNCE" GOTO S
GOTO EXIT
:I
REM TEMPERATURA BUDET OT
ECHO -15 DO -20
GOTO EXIT
:P
REM TEMPERATURA BUDET
ECHO OKOLO 0
GOTO EXIT
:S
REM TEMPERATURA BUDET
ECHO +20
GOTO EXIT
REM KONEC
:exit
pause

Добавлено спустя 03 минуты 54 секунды
#956005 пишет Вы неправильно используете If
вместо:
if -%1=-SNEG GOTO I
пишем:
if "%1"=="SNEG" GOTO I
==
Если исправить это, то код будет такой:
===
@ECHO OFF
ECHO Meteqsvodka
REM KAKAYA SEYCHAS POGODA
IF "%1"=="SNEG" GOTO I
IF "%1"=="DOJD" GOTO P
IF "%1"=="SOLNCE" GOTO S
GOTO EXIT
:I
REM TEMPERATURA BUDET OT
ECHO -15 DO -20
GOTO EXIT
:P
REM TEMPERATURA BUDET
ECHO OKOLO 0
GOTO EXIT
:S
REM TEMPERATURA BUDET
ECHO +20
GOTO EXIT
REM KONEC
pause
:exit
===
Проверил,у меня работает

Добавлено спустя 02 минуты 31 секунду
#816318 пишет
andrey1313 пишет @ECHO OFF

Смысл отключать все сообщения? Вам же нужно что-то вывести на экран! Удалите тогда эту строчку. Попробуйте после каждой (!) строчки поставить pause, так можно будет определить место вылета батника.

Отключено только эхо, вывод сообщений этой командой не отключается. Не зная таких основ лучше не лезть

Я конечно не считаю себя специалистом по командным файлам, но немного с ними работал, поэтому и даю совет. Насчёт вашего кода: после выполнения каждой группы кроме последней вы пишете GOTO EXIT, тогда как после :exit не стоит пауза, соответственно батник закрывается ничего не отобразив.
Выделите текст и нажмите для цитирования  #  
0   [17.10.2011 14:03] andrey1313 Рейтинг 143.23     Стена пользователя andrey1313 +144  Все ответы пользователя andrey1313

#816318 пишет Исправленный код:
@ECHO OFF
ECHO Meteqsvodka
REM KAKAYA SEYCHAS POGODA
IF "%1"=="SNEG" GOTO I
IF "%1"=="DOJD" GOTO P
IF "%1"=="SOLNCE" GOTO S
GOTO EXIT
:I
REM TEMPERATURA BUDET OT
ECHO -15 DO -20
GOTO EXIT
:P
REM TEMPERATURA BUDET
ECHO OKOLO 0
GOTO EXIT
:S
REM TEMPERATURA BUDET
ECHO +20
GOTO EXIT
REM KONEC
:exit
pause

Это тоже не работает, сами проверьте:dry:
Выделите текст и нажмите для цитирования  #  
0   [17.10.2011 18:48] #816318   Все ответы пользователя

andrey1313 пишет
#816318 пишет Исправленный код:
@ECHO OFF
ECHO Meteqsvodka
REM KAKAYA SEYCHAS POGODA
IF "%1"=="SNEG" GOTO I
IF "%1"=="DOJD" GOTO P
IF "%1"=="SOLNCE" GOTO S
GOTO EXIT
:I
REM TEMPERATURA BUDET OT
ECHO -15 DO -20
GOTO EXIT
:P
REM TEMPERATURA BUDET
ECHO OKOLO 0
GOTO EXIT
:S
REM TEMPERATURA BUDET
ECHO +20
GOTO EXIT
REM KONEC
:exit
pause

Это тоже не работает, сами проверьте:dry:

1.Это работает, только что проверил.
2.Убедился на опыте, что регистр букв параметра имеет значение. DOJD работает, dojd нет.
3.Чуть доработанный вариант:
@ECHO OFF
ECHO Meteqsvodka
REM KAKAYA SEYCHAS POGODA
IF "%1"=="SNEG" GOTO I
IF "%1"=="DOJD" GOTO P
IF "%1"=="SOLNCE" GOTO S
GOTO EXIT
:I
REM TEMPERATURA BUDET OT
ECHO -15 DO -20
GOTO EXIT
:P
REM TEMPERATURA BUDET
ECHO OKOLO 0
GOTO EXIT
:S
REM TEMPERATURA BUDET
ECHO +20
GOTO EXIT
REM KONEC
:exit
pause
exit

Видеоурок

Вопрос-ответ

НОВОСТИ
21.02.2024QIWI
подробнее>>
31.12.2023С Новым 2024 Годом!
подробнее>>

© 2004-2024 «WMMAIL» Пользовательское соглашение