|
0 / 0 / 0
Регистрация: 13.12.2020
Сообщений: 2
|
|
Начало работы с Bat файлами25.12.2020, 22:01. Показов 19034. Ответов 5
Метки нет (Все метки)
Я не какой-то гуру в этих ваших bat/cmd файлах, но столкнувшись лицом к лицу с проблемой недостатка объяснений элементарных действий в bat-cmd файлах. Поэтому я решил, что следует написать небольшое руководство по этим самым элементарных функциях. Я буду рад, если вы сможете указать на недочеты данной статьи и поможете мне продолжить улучшать эту статью.
1) Написать bat-файл, который будет принимать информацию и использовать её в своих целях. Пример, пользователем вводится имя, а программа использует его, чтобы поприветствовать пользователя, использовав имя, которые пользователь ввел. Пример такой программы: 1. @echo off //Эта команда отключает ненужную глазу информацию 2. chcp 1251 > nul //Эта команда делает текущую кодировку на 1251 3. set /p option=Enter your name: ####Разберем эту команду поподробнее: ####= - оператор присваивания; ####set – команда; ####/p - модификатор, который нужен для того, чтобы дать указания команде, что мы считывает значение переменной с клавиатуры. Так же есть модификатор /a. Этот модификатор, говорит о том, что справа от оператора присваивания будет происходить некая операция; iv. option - название переменной, надо учитывать, то, что пробелы тоже считаются за символ; v. Enter your name: - текст, который будет выведен в консоль, он никак не влияет на значение переменной. 4. Echo Hello %option% Echo – команда, которая выводит текст в консоль (запись Ehco Hello эквивалентна printf(“Hello”)); Hello – текст, который будет выведен в консоль; %option% - значение переменной. Тут важно сказать, что для того, чтобы взять значение этой переменной нужно «запроцентить» эту переменную (echo option не равно echo %option%). 5. echo %option% >> result.txt Echo – команда, которая выводит текст в консоль; %option% - значение переменной. >> - оператор, который перемещает значение переменной в текстовой файл. Есть всего 4 похожих оператора: >>, >(например, это оператор удаляет все содержимое файла, и только после этого вносит туда поправки), <<, <; 6. Pause Эта команда дожидается нажатия на любую из клавиш. 2) Bat-файл должен запустить текст/картинку/песню/и др в ПО, которое у вас указанно для этого по умолчанию. Это можно реализовать всего одной командой: start result.txt Этот оператор позволяет нам открыть любой файл в программе для него по умолчанию синтаксис операции start <путь к файлу>.<расширение>, если файл лежит в одной папке с bat файлом, то можно писать start <имя файла>.<расширение>. 3) Возможности таких команд как: команда очищения экрана и команда всплывающего окна (Popup window) будут продемонстрированы ниже: @echo off chcp 1251 > nul echo Hello World! pause эта команда отчищает консоль cls открывает Popup окно с сообщением Clear! msg * Clear! Pause 4) Теперь мы научимся писать более сложные программы на языке консоли. Мы будет использовать условные операторы и метки. Перед тем, как перейти к коду надо пояснить что такое метка. Метка, простыми словами, это указатель на какую-то часть кода. Метка создается и вызывается очень просто, для создания метки надо использовать двоеточие «:», а для того, чтобы перейти к метке надо использовать команду goto(рус. Перейти к), название этой команды говорит само за себя. Пример создания метки :newpoint – при такой записи в файле будет создана метка с именем point. Пример обращения к метке goto :newpoint – при переходе к этой команде будет осуществлен переход из текущей точки выполнения программы, к точке, в которой находится метка. С помощью команды goto и условного оператора можно самостоятельно создать "псевдофункции" и "псевдоциклы". Теперь про условные операторы. Условный оператор выглядит как if <переменная1> оператор <переменная2> <что требуется сделать>. Существует 6 операторов: 1. EQU и == – равно; 2. NEQ – не равно; 3. LSS – меньше; 4. LEQ – больше; 5. GTR – меньше или равно; 6. GEQ – больше или равно. Так же существует возможность группировки команд, например если вам надо после условия выполнить сразу несколько действий. Для этого используются круглые скобочки «(<тут может быть больше одного действия>)». @echo off chcp 1251 > nul echo ^>This is a test echo ^>If you want to do math type 1 and press enter echo ^>If you want to see a picture type 2 and press enter set /p option= if '%option%' == '1' goto :math if – условный оператора '%option%' – кавычки необязательны, они используются для того, чтобы показать, в данном случае, оператору сравнения, что сравниваются переменные с именами "%option%" и "1". Суть этого в том, что пробел считается символом в названии переменной, то есть, "%option%==1" и "%option% ==1(обратите внимание на пробел между процентом и первым знаком равно)" будут работать по разному. Вообще, использование кавычек иногда вызывает сбои в работе программы, поэтому их использование не желательны, в данном коде же это написано для примера. == - оператор сравнения goto – команда перехода к метке :math – метка if '%option%' == '2' start apple.png :math echo 2+2 pause
0
|
|
| 25.12.2020, 22:01 | |
|
Ответы с готовыми решениями:
5
В ярлыках браузеров emorhc.bat rehcnual.bat xoferif.bat erolpxei.bat Технология работы с файлами. Технология работы с типизированными и нетипизированными файлами |
|
|
||
| 26.12.2020, 23:33 | ||
|
Ну а батники больше никому особо не нужны (ну кроме тех, чей календарь завис где-то 2005-м). Ну что можно делать батниками? copy\move\cd\echo. Как-то так... Живи настоящим - мир уже другой.
1
|
||
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
||
| 27.12.2020, 16:09 | ||
|
1
|
||
|
0 / 0 / 0
Регистрация: 13.12.2020
Сообщений: 2
|
|
| 29.12.2020, 09:42 [ТС] | |
|
Возможно, но на первом курсе мой преподаватель не дал даже такой информации, а лабораторные по batch файлам заставлял писать. Я просто хотел помочь, может таким же ребятам, у которых такие же проблемы. Эта тема не нацелена на супер пупер охват и имеет только такой прикладной характер к шаражке какой-нибудь.
Добавлено через 2 минуты Да, скорее всего так и есть, но это помогло, например, моим одногруппникам. При том, что я создал эту тему, думая, что смогу её в дальнейшем раскрывать и отредактировать её, но оказалось, что тут нет такой возможности.
0
|
|
|
|
||
| 29.12.2020, 21:48 | ||
|
Достаточно набрать: Windows CMD batch syntax и получишь массу ссылок на туториалы, мануалы, книги, примеры и т.д. Некоторые сайты как ss64 сами по себе являются агрегаторами ссылок на ресурсы по cmd\bacth. Но как гуглит твое поколение? цэмэдэ каманда как написат. Результат очевиден. P.S. Даже здесь на форуме все это уже есть. Но ты даже не попробовал найти.
0
|
||
|
6793 / 2290 / 348
Регистрация: 10.12.2013
Сообщений: 7,899
|
|
| 30.12.2020, 03:46 | |
|
Garry Galler, а вот сейчас ты сделал обидно )
AvoCADic38 хотя бы усилия приложил, поискал, попробовал сам скомпилировать найденное в связный текст. Оне не виноват, что у них там на кафедре живут упоротые деды-отморозки, которые на 21-ом году 21-го века заносят в программу обучения изучение цэмэдэ. С другой стороны ( бывает полезно заглянуть и с другой стороны), если в МИФИ есть кафедра теологии, то почему бы и не поизучать cmd, чтоб быть, так скаать, в общей струе. передайте на кафедру дедушкам для внесения в методичку: интерпретатор CMD ОС Windows 1) Предназначен для последовательного исполнения встроенных инструкций ( команд ) из текстового файла ( этот текстовый файл имеет расширение .bat или .cmd )
интерпретатор cmd оставлен в системе для совместимости. Основным инструментом автоматизации OS Windows является оболочка powershell. Начиная с 2016-го года, данный инструмент доступен и для других опер. систем ( Linux, MacOS ) В соврем. системах Windows powershell играет очень важную роль(*) и будет нами тщательно изучен в течение 1-го учебного года. (*) В отличие от традиционных оболочек других ОС ( bash, zsh, ksh итд) [по состоянию на 2021 год] powershell абсолютно уникален и значительно превосходит последние по своим возможностям.
0
|
|
| 30.12.2020, 03:46 | |
|
Помогаю со студенческими работами здесь
6
: Технология работы с файлами. Технология работы с типизированными и нетипизированными файлами. Технология работы с файлами. Технология работы с типизированными и нетипизированными файлами. Управление bat-файлами Работа с bat файлами Работа с bat и exe файлами! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|