Учебные материалы по математике | Работа с bat-файлами | Matematiku5
Вузы по математике Готовые работы по математике Как писать работы по математике Примеры решения задач по математике Решить задачу по математике online

Работа с bat-файлами


ТЕОРИЯ 1

Для работы с bat-файлами для удобства будем использовать программу FAR.

Небольшое отступление. Те, кому FAR использовать ну совсем не хочется, могут воспользоваться командной строкой Windows: Пуск->Выполнить-> ввести команду cmd Перед вами появится командное окно — эмулятор системы MS DOS.

Для тех, кому работать с GUI[1] приятнее запускает программу FAR Manager.

Основные команды в FAR’e:

Alt+F1 (F2) — выбрать диск в левой (правой) панели

Вверх/вниз — перемещение по дереву каталогов

F7 — создать каталог

Shift+F4 — создать файл

F4 — редактировать выделенный файл (F8 – для смены кодировки)

F3 — просмотр выделенного файла (F8 – для смены кодировки)

Enter — зависит от того, где установлен курсов и введена ли команда внизу экрана. Если введена команда — она будет выполнена. Если курсор установлен на имени каталога — мы "зайдем" в каталог. Если на ".." — "поднимемся" на каталог выше. Если курсор стоит на имени файла — результат нажатия Enter’a будет аналогичен двойному щелчку мыши в "Проводнике".

Ctrl+O показать экран с результатами команд.

Ctrl+вверх/вниз — показать область ввода команд (удобно для отладки)

Для изучения bat-файлов будет полезно знать:

·  для перенаправления потока вывода используется символ ">".
Пример: пусть в вашем файле выполняется команда echo. Тогда она выведет какой-то текст на экран. Если вам хочется, чтобы все результаты работы вашего bat-файла выводились не на экран, а в файл — наберите в командной строке что-нибудь вида "c:> mybatfile. bat > myoutput. txt". Тогда результаты работы вашего файла mybatfile. bat, находящегося в корне диска c: будут записаны в файл myoutput. txt в том же каталоге.

·  Для создания bat-файла можно использовать программу FAR (или аналогичные ей: VC — Volcov Commaner, TC — Total Commander, WinCom — Windows Commander), или использовать встроенную программу "Блокнот" (Notepad). Важно: при сохранения файле в Блокноте нужно указать в поле "Тип файла" не ".txt Текстовые файлы", а ".* Все файлы" и написать полное имя, например, mybatfile. bat. Тогда расширением файла будет именно. bat, а не. txt — расширение по умолчанию.

УПРАЖНЕНИЯ 1 (echo, cls, dir, del, %1)

1. Создаем bat-файл с таким содержимым:

echo "Hello from Politeh!"

Сохраняем файл, запускаем и проверяем, что он работает.

2. Изучаем способ вызова справки по необходимым командам:

<имя_команды> /?

for /? — будет выведена справка по команде for

Задание №1: изучить справку команды mkdir и сделать bat-файл (можно просто дополнить первый файл), который будет создавать заданную директорию.

Задание №2: вывести справку по командам for и if в файлы for_help. txt и if_help. txt соответственно. Как это сделать? Читаем "полезное знание №1" 🙂

Примечание: когда откроете файл for_help. txt – скорее всего, увидите «кракозябру». Её можно прочитать тремя способами (точнее изменить кодировку с Windows-1251 на CP‑866):

1.  открыть файл в Word, он, обычно, автоматически предлагает правильную кодировку

2.  открыть файл в FAR (нажав F4), после этого изменив кодировку по команде Shoift+F8

3.  открыть блокнотом и изменить шрифт на Terminal.

3. Изучаем команды cls, echo, dir, del. Для этого используем эти команды в собственном bat-файле и убеждаемся, что фактические результаты совпадают с ожидаемыми.

4. Изучаем возможность работы с аргументами: если внутри bat-файла использовать комбинации символов %0, %1,…, %9, то можно получить значения аргументов, переданных системному обработчику вместе с вашим bat-файлом.

Задание №1: создать bat-файл, который должен будет запускаться с двумя параметрами (например, так: mybat. bat 1 22) и выводить такой текст:

parameter1 = 1

parameter2 = 22

где 1 и 22 — это параметры запуска вашего bat-файла.

Задание №2: изменить созданный файл так, чтобы в случае, когда первый параметр — это строка test, выдавалось сообщение "First parameter — <test>!" Для решения задачи используем команду if.

Задание №3. Классика жанра. Написать bat-файл, который удаляет файл, путь к которому задан в виде первого аргумента. Обязательно нужно проверить, существует ли файл с заданным путем или нет (с помощью if exist).

УПРАЖНЕНИЯ 2 (dir, for, goto, path)

Как вывести файлы в каталоге:

«Дешево, надежно и практично»: команда dir Команда for в простом варианте:
FOR %%F IN (*.*) DO ECHO %%F
Все файлы будут выведены друг за другом Чуть более красивый вариант с командой for:
for %%i in (*) do (
echo %%i
echo ——
)
Будут выведены все файлы, причем с разделителями.
Важно: в этом примере показано, как записывать команды не в одну строчку – с использованием обрамляющих круглых скобок. Команда for может использоваться не только для работы с файлами, но и для работы с числами.

В справке по команде for написано:

FOR /L %переменная IN (начало, шаг, конец) DO команда [параметры]

Набор раскрывается в последовательность чисел с заданными началом, концом

и шагом приращения. Так, набор (1,1,5) раскрывается в (1 2 3 4 5),

а набор (5,-1,1) заменяется на (5 4 3 2 1)

Пример:

@echo off

FOR /L %%f IN (1,1,10) DO echo %%f

Такой файл выведет последовательность чисел от 1 до 10 включительно.

Метки в bat-файлах

Метки позволяют переходить от одной команды к другой практически в производном порядке. Так же, как и в большинстве языков программирования, метки задаются словом goto.

Пример:

@echo off

if %1==odin goto odin

if %1==dva goto dva

goto end

:odin

echo Odin!!

goto end

:dva

echo Dva!!

goto end

:end

echo End of example

Как тестируем? Правильно: например, mybat. bat odin – должны увидеть радостные возгласы на тему первого параметра J

Переменная path

Очень полезно знать, что прописано в эту переменную, когда вы будете устанавливать какую-нибудь программу типа Visual Studio и т. п. или когда какая-нибудь программа будет писать, что она не может найти какие-нибудь пути.

Как посмотреть, в какие каталоги смотрит Windows, когда ищет файлы: набираем
set path > path.txt и смотрим, что записалось в файл path. txt.

Любознательные могут сравнить значения каталогов с тем, что указано в строке Свойства Системы-> Дополнительно -> Переменные среды.

УПРАЖНЕНИЯ 3 (cmd, del, 8.3, call, set, формулы)

1.  Как запустить bat-файл без FAR’a? Пуск->Выполнить‑>"cmd". А дальше используем команды "dir", "cd" и др.

2. Пишем bat-файл удаления другого файла
Вызов: my. bat temp. doc
Схема bat-файла (пишем в несколько строчек!):
if not exist <имя_файла>
echo Нет файла <имя_файла>
else
del <имя_файла>

3.  Усложняем: делаем удаление файла с именем больше 8 символов (слушаем про "требование 8.3 для DOS").

4.  Пишем bat-файл копирования заданного файла в параллельный каталог Backup (изучаем команды "cd.." , "cd..backup" , "copy myfile. zip ..backup")

5.  Передаем переменные между двумя bat-файлами — изучаем команду set

a. Пишем главный файл — main. bat:
call f1.bat mystring
call f2.bat

b. Пишем файл f1.bat
set AAA=%1
echo Новая переменная =%AAA%

c. Пишем файл f2.bat
echo Знаем переменную AAA: %AAA%

d.  Добиваемся работоспособности. Для удобства вставляем "@echo off" в начало каждого файла

6.  Пишем bat-файл удаления всех файлов в текущем каталоге. Вспоминаем про важное замечание с прошлого занятия.

7.  В параллельном каталоге Backup создаем каталог с текущей датой и копируем туда все файлы с расширением "bat" в этот каталог. Если каталога backup нет — создаем его.

[1] GUI = Graphical User Interface — Графический Интерфейс Пользователя — в противоположность текстовому интерфейсу командной строки

Наташа

Автор

Наташа — контент-маркетолог и блогер, но все это не мешает ей оставаться адекватным человеком. Верит во все цвета радуги и не верит в теорию всемирного заговора. Увлекается «нефрохиромантией» и тайно мечтает воссоздать дома Александрийскую библиотеку.

Распродажа дипломных

 Скидка 30% по промокоду Diplom2020

А ты боишься COVID-19?

 Пройди опрос и получи промокод