Выдать на экран сообщение о создании файла a txt с консоли

Обновлено: 19.05.2024

Командный (пакетный) файл – это текстовый файл, который может содержать группу команд DOS и/или обращений к прикладным программам.

Командный файл имеет расширение bat и принадлежит к категории исполняемых файлов.

Работа с командным процессором предполагает использование двух устройств - устройства ввода (клавиатуры) и устройства вывода (дисплей). Для изменения стандартно используемых устройств ввода-вывода применяются специальные символы – символы перенаправления:

Команды пакетной обработки:

cls – очистка окна командной строки.

rem [любая строка] - комментарий в тексте файла. Служит для каких-либо пояснений в содержимом командного файла или для временной блокировки команд. Строка командного файла, начинающаяся со слова rem, игнорируется.

Пример : echo Перейти к следующей строке

@ - служит для отмены вывода на экран строки, следующей непосредственно за символом, может быть только первым символом строки.

Пример: @echo off


  1. Создать командный файл с именем hello.bat, который записывает в файл help.txt результат использования команды HELP.

  2. Создать командный файл с именем helpdir.bat, который записывает в файл helpdir.txt результат использования команды HELP DIR.

  3. Создать командный файл, который дописывает в файл helpdir.txt справку по использованию команды COLOR.

  1. Что такое командный файл? Какой компонент ОС обрабатывает командные файлы?

  2. Что может включать командный файл?

  3. Какие существуют символы перенаправления?

  4. Как настроить окно командной строки?

  5. Какие существуют команды пакетной обработки?

Лабораторная работа № 10. Управление общими ресурсами в операционной системе

Цель работы: научиться управлять параметрами использования общих ресурсов
Задания:


  1. Откройте оснастку Общие папки (Панель управления/Администрирование/Управление компьютером/Общие папки/Общие ресурсы).

  2. Используя оснастку Общие ресурсы, создайте новый общий ресурс с именем Ваша_фамилия_5. Выберите меню Действия/Новый общий ресурс, следуя инструкциям Мастера создания общих ресурсов, выберите вид разрешений для общей папки – У всех пользователей доступ только для чтения. Проверьте результат.

  3. Используя оснастку Общие ресурсы, создайте новый общий ресурс с именем Ваша_фамилия_6. Выберите вид разрешений для общей папки – Настройка разрешений доступа. Для любого пользователя запретите создание файлов/запись данных. Проверьте результат.

  4. Прекратите общий доступ к настроенным вами ресурсам. Для этого выберите меню Действия/Прекратить общий доступ.

  1. Используя справочные материалы, изучите команду для организации общего доступа к папкам (net share).

  2. Используя команду net share, просмотрите все общие ресурсы.

  3. Создайте папку с именем Ваша_фамилия_7, для которой будет предоставлен общий доступ.

  4. Определите созданную папку, как общий ресурс, предоставив право только на чтение.

  5. Создайте папку с именем Ваша_фамилия_8, для которой будет предоставлен общий доступ.

  6. Определите созданную папку, как общий ресурс, укажите количество одновременно подключаемых пользователей – 2.

  7. Прекратите доступ к созданным общим ресурсам.

  1. Какими способами можно настроить общий доступ к объектам?

  2. Какие существуют типы объектов при управлении доступом?

  3. Какие разрешения можно разрешить или запретить?

Лабораторная работа № 11. Работа с программой Системный монитор

Цель работы: научиться работать с программой системный монитор, управлять счетчиками
Краткие теоретические сведения

Системный монитор Windows – это оснастка консоли управления, предоставляющая средства анализа производительности системы. С помощью одной консоли пользователь может в реальном времени осуществлять контроль над производительностью приложений и оборудования, выбирать данные, которые будут сохраняться в файлах журналов, задавать пороговые значения для оповещений и автоматических действий, генерировать отчеты и просматривать историю производительности системы, используя различные способы сортировки.

Монитор производительности представляет собой простое, но эффективное средство визуализации данных производительности, как в реальном времени, так и из файлов журнала. При помощи него можно просмотреть данные производительности в виде графика, гистограммы или отчета.

Счетчики производительности являются инструментами оценки состояния или активности системы. Они могут входить в состав операционной системы или быть частью отдельных приложений. Системный монитор Windows запрашивает текущие показания счетчиков производительности через определенные промежутки времени.

В операционной системе MS-DOS и во всех операционных системах семейства Microsoft Windows простейшим средством автоматизации обработки файлов (и каталогов) служат так называемые командные файлы. Командные файлы — не единственное средство автоматизации работы пользователя даже из числа встроенных. В операционных системах семейства Microsoft Windows, начиная с версии 98, имеется еще Windows Script(ing) Host. Для этих же целей можно использовать какой-нибудь интерпретируемый язык Perl, Python или Ruby. Однако перечисленные средства, хотя и мощны, требуют умения программировать, т.е. составлять и, что немаловажно, отлаживать программы, хотя бы на неплохом любительском уровне. Использование же командных файлов доступно всякому без особенной подготовки.

Окно командного процессора в первозданном виде выглядит мрачно, и работать с ним большинству людей не очень удобно. Намного проще пользоваться файловыми менеджерами в стиле Norton Commander. В них предусмотрены как средства для быстрой навигации по файловой системе, так и срока для ввода команд.

Несколько команд, полезных для автоматизации обработки файлов и как ими пользоваться. Эти команды будут в дальнейшем использоваться в примерах. Детали можно уточнить по команде help :

Одно из общих правил синтаксиса команд MS-DOS состоит в том, что при указании параметров сначала указывается источник, а потом результат. Например, если мы хотим переместить файл file 1.txt из каталога box в каталог table, мы должны ввести команду: move box\ file 1.txt table. Сначала что переместить, потом куда переместить. Если нужно переименовать файл lena.txt в файл natasha.txt, то команда должна быть записана вот так: ren lena.txt natasha.txt . Сначала что переименовать, потом во что переименовать.

При работе с файловыми командами исключительную важность приобретает понятие текущего каталога. Дело в том, что при указании файла в качестве параметра команды мы всегда используем один из двух возможных способов указания на них: либо абсолютный (полный) путь, либо относительный путь. В полном пути мы указываем все, начиная с диска (или сетевого имени компьютера), например d:\misha\box\ car .txt . Какой бы каталог ни оказался текущим в момент ввода команды, полный путь будет соответствовать одному и тому же файлу. Для относительного пути текущий каталог служит отправной точкой. Простейший случай относительного пути — имя файла. В контексте выполнения команды оно означает файл с таким именем, расположенный в текущем каталоге. Для записи относительного пути к текущему каталогу существует условная запись . (точка). Для записи относительного пути к каталогу, в котором содержится текущий каталог, существует условная запись .. (две точки). Команда, показанная далее, копирует все файлы из текущего каталога в каталог neighbour, расположенный рядом с ним: copy *.* .\neighbour.

При обработке большого количества файлов или при систематическом выполнении одних и тех же команд это становится обременительно. Поэтому в командном процессоре предусмотрена возможность выполнения командных файлов.

Командным файлам принято давать расширение bat. По нему файлы этого типа опознаются командным процессором. Этот файл можно назвать, например, make-help.bat.

Командный файл, по существу, представляет собой программу, написанную на языке командного процессора операционной системы. Текст программы полагается снабжать комментариями, чтобы, вернувшись к нему некоторое время спустя, не вспоминать мучительно, для чего эта программа нужна, и как она устроена.

В системе команд MS-DOS для оформления комментариев предусмотрена команда rem. Это фиктивная команда, которая не предполагает выполнения каких бы то ни было действий, но позволяет написать в строке после своего имени произвольный текст. Причем командный процессор не воспринимает его как синтаксическую ошибку. Пример оформления командного файла комментариями:

Пусть нужно создать командный файл, который сначала формирует справку с описанием заданной пользователем команды, а потом загружает его для просмотра в блокнот. Фокус в том, чтобы при очередном запуске командного файла каким-то образом сообщить ему, какая именно команда нас интересует на этот раз.

Для решения этой задачи предусмотрен механизм обработки параметров. Работает он довольно просто. Если при запуске командного файла пользователь указал несколько параметров, то в тексте командного файла первый из них мы обозначаем записью %1, второй записью %2, третий записью %3 и т.д. Этими обозначениями используются в тексте командного файла примерно так же, как в естественной речи местоимениями. Текст командного файла, решающего поставленную задачу, приведен далее:

Пусть командному файлу присвоили имя show-help.bat. Для того чтобы загрузить в блокнот описание команды, например, dir, нужно ввести команду следующим образом:

show-help.bat dir. Следующий командный файл создает каталог с именем, указанным в первом параметре, и записывает в него файл с текстом описания команды, указанной во втором параметре:

Переменной называется поименованное значение. В учебниках по программированию переменную обычно сравнивают с конвертом, на котором написано имя. Внутрь конверта можно положить нечто, например, определенную сумму денег — это ее значение. Как и в случае с конвертом, значение переменной можно изменить. Для объявления переменной и одновременно для присвоения ей значения применяется команда set. Пример записи этой команды показан далее:

Приведенная программа показывает, в чем польза переменных. Во-первых, они позволяют вместо длинного фрагмента (например, пути к компилятору help -файлов) использовать внутри командного файла синонимичный ему короткий. Как минимум, это удобно. Во-вторых, они позволяют избежать повторения в тексте командного файла фрагментов, которые в дальнейшем могут меняться.

Команда if позволяет выделять в командном файле группы команд, которые выполняются или не выполняются в зависимости от определенных условий.

Для чего это нужно? Проверка условия — почти необходимая мера при создании командных файлов, использующих параметры. Перед тем, как начинать работу, командный файл, вообще говоря, должен удостовериться в том, что ему передан корректный набор параметров. В противном случае велик риск, что он выполнится неверно или безрезультатно, а пользователю останется только гадать, в чем же проблема. Более того, если командный файл удаляет, перемещает или перезаписывает какие-либо данные, то при некорректных параметрах он может даже нанести ущерб.

Предложенный способ проверки параметра не самый удачный. Во-первых, если пользователь по ошибке укажет в качестве параметра имя несуществующего файла, командный файл этим удовлетворится и предпримет попытку компиляции. Более правильный способ — проверить, существует ли такой файл в действительности. Для этого в языке команд MS-DOS предусмотрено специальное слово exist. Поэтому лучше было бы написать: if exist %1.hpj goto compile. Во-вторых, активное использование команды goto (т.н. безусловного перехода) и меток сильно запутывают код. Технически они ничем не плохи, но отлаживать и сопровождать командный файл, написанный в таком стиле, довольно неудобно. Поэтому программисты издавна считают безусловный переход приемом нежелательным. Ниже показан более правильный, с точки зрения стиля программирования, структурированный вариант, в котором используется конструкция if…else. Работает она так: если условие истинно, выполняются команды в скобках после if, а если ложно, то в скобках после else.

Приведем еще один пример работы с проверками. Следующий командный файл создает каталог с именем help-files (предположим, для выгрузки в него скомпилированных help -файлов). При этом, если каталог с таким именем уже существует (и в нем, вероятно, находятся старые help -файлы, которые не хотелось бы терять: вдруг новые окажутся хуже?), командный файл присваивает ему расширение bak. Но если каталог help-files.bak уже существовал, то командный файл его удаляет (будем считать, что одной резервной копии нам хватит):

Команда for позволяет организовать выполнение повторяющихся однотипных действий. Можно использовать ее для того, чтобы вывести на экран числа от одного до десяти, как показано ниже:

Переменная i называется счетчиком цикла. В силу своеобразия синтаксиса команды for, имя счетчика цикла должно состоять из одной буквы. Причем, если мы пишем командный файл, то перед именем счетчика цикла надо поставить сдвоенный знак процента, если же мы просто набираем команду в командной строке, то одиночный. Логика работы этой команды такова. После слова in указан диапазон изменения счетчика цикла. В данном варианте команды это тройка чисел: начальное значение счетчика, шаг счета, предельное значение счетчика. При выполнении команды командный процессор сначала присвоит переменной i значение 1, а потом на каждом шаге цикла будет увеличивать его на 1, пока оно не превысит 10. Очевидно, таких шагов получится десять. Если бы в качестве шага счета мы указали число 2, то цикл выполнился бы пять раз. На каждом шаге цикла выполняется тело цикла, написанное после слова do. В приведенном примере это команда echo, которая выводит на экран текущее значение счетчика цикла. Наверно можно придумать ситуацию, когда что-то подобное на самом деле требуется, но обычно команда for используется для перебора и обработки файлов. Надо сказать, что в достаточно простых случаях массовая обработка файлов выполняется с помощью подстановочных символов. Если, мы хотим всем файлам в текущем каталоге заменить расширение .htm на .html, мы вводим команду ren *.htm *.html. Но если то же самое надо сделать не в одном каталоге, а в дереве каталогов, то без команды for не обойтись. Приведенный ниже командный файл выполняет эту операцию для всех htm-файлов в подкаталоге website текущего каталога. Точнее, во всем дереве каталогов, которое находится внутри website:

Ключ /r указывает на необходимость обхода каталога website и всех его внутренностей. Если его не указать (но тогда и каталог указывать не разрешается), то обработаны будут только файлы в текущем каталоге. Диапазоном значений счетчика цикла в данном варианте команды является множество всех файлов с расширением .htm, находящихся внутри каталога (точнее, дерева) website. Странная на первый взгляд запись ~ni означает, что из значения переменной i требуется выделить только имя файла. В языке команд MS-DOS предусмотрено несколько таких модификаторов, например, запись ~хi обозначает расширение файла. Все модификаторы описаны в справке по команде for. Тело цикла может состоять из нескольких команд, заключенных в скобки:

Цель работы: изучить команды файлового менеджера при работе с дисками, каталогами, файлами.

Теоретические сведения

Использование пакетных файлов помогает автоматизировать выполнение нескольких заданий. При этом никакого вмешательства пользователя не требуется. Пакетные файлы поддерживают все команды, которые могут быть выполнены из командной строки. Чтобы увидеть командую строку достаточно проделать следующее: Пуск->Выполнить->cmd->ОК

Давайте попробуем сделать простенький пакетный файл. Откройте Блокнот и скопируйте туда следующий текст:

(пример 1)

title Batch File Testing

echo Hello World

echo Starting Notepad

echo Starting Wordpad

Что означают команды, использованные в данном файле?

@echo off — Скрывает строку C:\> и все команды, используемые в пакетном файле

echo. — Создает пробел между строками

title — Название окна

start — Запускает приложение или установочный процесс

exit — Закрывает командную строку

Изменение цветовой гаммы

Во время установки окно, с выполняющимися командами, будет выглядеть несколько мрачновато, но это можно разнообразить, сделав фон и шрифт цветными при помощи команды color хх. Атрибуты цветов задаются в виде двух шестнадцатеричных цифр — первая задает цвет фона, а вторая определяет цвет текста. Каждая цифра может иметь следующие значения:

Таким образом, для ярко-белого шрифта и голубого фона вы используете color 9F.

Чтобы посмотреть, как это выглядит на практике, скопируйте текст в блокнот и сохраните файл как colors.cmd.

(пример 2)

Title Graphics group is being installed now

ECHO Adobe Photoshop 7.0

ECHO ACDSee 6.0.3

Title Internet group is being installed now

ECHO Stay Connected! 3.5

ECHO MSN Messenger 6.2

Примечание: команда PAUSE дана исключительно для того, чтобы можно было рассмотреть все получше. В реальном файле установка пойдет без остановки. В данном примере подается идея группировки приложений по типу (Графика, Интернет) и назначения им различных цветовых групп. Чтобы очистить экран перед каждой группой можно вставлять @CLS перед строкой Title.

В Windows нет специальной команды для создания файла, но без нее можно легко обойтись несколькими способами:

Копирование с консоли в файл

COPY CON myfile.txt

При выполнении этой команды данные с клавиатуры (устройство CON) будут заноситься в файл myfile.txt. Нажатие клавиши F6 или комбинации CTRL-Z завершит вывод.

ECHO 1 > myfile.txt

При выполнении этой команды будет создан файл myfile.txt, содержащий символ “1”

Комбинация перенаправления ввода и вывода

COPY CON > myfile.txt %1

где a — команда создания архива,

-r — ключ, определяющий архивирование подкаталогов (т.к. в исходной папке есть подкаталоги).

Таким образом, для решения задачи нужно правильно создать имена и пути для RAR. Для чего воспользуемся следующими факторами:

  • В командных файлах можно получить доступ к текущей дате и текущему времени — переменные %DATE% и %TIME%
  • В командных файлах можно создавать временные переменные с помощью команды SET.
  • Значение временных переменных может быть сформировано на основе %DATE% и %TIME% путем пропуска и (или) замещения их частей с помощью все той же команды SET.

Дата, получаемая из переменной %DATE% при стандартных настройках региональных установок выглядит следующим образом:

Пн 21.01.2005 — День недели(2 символа)-Пробел-дата(10 символов)

Для примера, создадим каталог командой MD .

Создаем в памяти временную переменную VDATE и присваиваем ей значение переменной окружения DATE, без первых 3-х символов — 20.01.2005:

Создаем каталог на диске C:, имя которого = текущая дата из переменной VDATE:

После выполнения этой команды на диске C: будет создан каталог с именем 20.01.2005

Время, получаемое из переменной %TIME%:

14:30:59.93 — Часы, минуты, секунды, сотые доли секунды.

Сотые доли — это в имени файла архива, пожалуй, лишнее. Создаем временную переменную VTIME и присваиваем ей текущее время без последних 3-х символов

Переменная VTIME примет значение 14.30.59 (для имени файла сойдет).

Теперь можно создать командный файл с содержимым:

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

Создание архивов (более сложный вариант).

C:\ARHIV\Мои документы\Имя пользователя\Дата\время

Используются переменные USERPROFILE, USERNAME, WINDIR, поэтому в WIN9X этот командный файл работать не будет. (Хотя, при желании вы можете вставить в autoexec.bat команды для установки значений этих переменных и использовать его в однопользовательском варианте практически без изменений). Содержимое командного файла снабжено комментариями и не должно вызывать особых затруднений, если вы разобрались с предыдущим примером:

rem Задается ппеременная FROM — откуда брать данные для архивирования

set FROM=%USERPROFILE%\Мои Документы

rem Задается ппеременная TO — куда помещать архивы

set TO=C:\arhiv\Мои документы\%USERNAME%

rem Создадим каталог ТО

rem Сформируем имя подкаталога из текущей даты

rem текущая дата при настройках поумолчанию для Win2K — Пн 25.04.2005

rem текущая дата при настройках поумолчанию для WinXP — 25.04.2005

rem Из текущей даты сформируем имя подкаталога — 25.04

rem По умолчанию Windir для WinXP — C:\WINDOWS, а для Win2K — C:\WINNT

IF /I %Windir% == C:\WINNT GOTO Win2K

rem Сформируем имя файла архива из текущего времени — 12:00:00.99

rem отбросим сотые доли секунды и заменим символ : на символ . Результат — 12.00.00

rem Создадим подкаталог для файла архива

rem Команда для архивирования. Ключ -r нужен для архивирования с вложенными папками

rem При использовании архиватора RAR:

AT 13:50 net.exe send * Пора пить кофе

AT 17:50 net.exe send User Порадомой

AT \\SERVER 13:45 net.exe send Нужно перезагрузить сервер

— Просмотр списка запланированных задач:

— Удаление уже спланированных задач:

AT 3 /DELETE – удаление задачи с номером 3

AT /DELETE /YES – удаление всех задач

“Панель управления” — “Назначенные задания” позволяют просматривать, изменять и удалять созданные командой AT задания.

Диалог с пользователем

Для диалога с пользователем можно использовать команду:

echo Password is — %pset%

CHOICE [/C[:]choices] [/N] [/S] [/T[:]c,nn] [text]

/C[:]choices — определяет допустимые варианты выбора. Если не задано — YN

/N — не выдавать варианты выбора.

/S — строчные и заглавные буквы отличаются.

text — Строка текста выводимая в качестве запроса

CHOICE /C:1230 /T:0,10 Ваш вариант

IF %ERRORLEVEL% EQU 4 GOTO EXIT

echo Ваш выбор=%ERRORLEVEL%

Теперь, используя CHOICE вы можете создавать командные файлы, логика работы которых может определяться пользователем.

Задержки в командных файлах

Когда-то, еще в DOS, для организации ожидания в командном файле использовалась удобная команда SLEEP, но затем она почему-то перекочевала из стандартного установочного набора Windows в дополнительный Resource Kit. Можно просто скопировать его оттуда в каталог \system32 и использовать в ваших командных файлах.

: SLEEP N — гден N — количество секунд для задержки.

Если же Resource Kit нет под рукой, можно воспользоваться ранее рассмотренной командой CHOISE без вывода текста и с автоматическим формированием ответа через nn секунд (1-99):

ping 127.0.0.1 -n 30 > nul — даст задержку на 30 секунд

Работа с оконными приложениями

Допустим, вам нужно из одного и того же командного файла запустить noteped.exe и cmd.exe. Если просто вставить строки

то после запуска notepad.exe выполнение командного файла приостановится и пока не будет завершен notepad, cmd.exe не запустится. Самый простой способ обойти эту проблему — использовать стандартную утилиту Windows start.exe. Полную справку по использованию можно получить по:

Попробуйте создать командный файл следующего содержания:

start /MAX notepad.exe

net send %COMPUTERNAME% NOTEPAD and CMD running.

Если вам все же потребуется расширенное управление окнами приложений, придется воспользоваться сторонним программным обеспечением, например, CMDOW.

Cmdow.exe — крошечная утилита, работающая в Windows NT4/2000/XP/2003 без установки. Позволяет получить список окон, перемещать, изменять размеры, переименовывать, сворачивать/разворачивать, активировать/деактивировать, закрывать, скрывать окна приложений и многое другое. Справку можно получить по команде:

cmdow.exe или cmdow.exe > wins.txt — выдать инвормацию обо всех окнах на экран или в файл wins.txt

cmdow /T — выдать информацию об окнах, отображаемых на панели задач рабочего стола.

Handle — дескриптор окна — шестнадцатиричное число, связанное с данным окном.

Lev — уровень окна. Приложение может быть многооконным с несколькими уровнями окон.

Pid — идентификатор процесса, породившего окно.

-Window status- — состояние окна (видимое — Vis, скрытое — Hid, активное — Act, свернутое — Min и т.п.

Image — программа вызвавшая окно.

Caption — название окна

Манипулировать окнами можно используя название окна, или его дескриптор. Если название окна содержит пробелы, то оно заключается в двойные кавычки. Если имеются русские буквы, то должна использоваться DOS-кодировка. Символ @ используется для указания текущего окна. Иногда проще использовать дескриптор окна, а не его название. Полезным может быть и использование команды поиска по строке find.exe, выполняемой в цепочке с cmdow:

Если вы хотите, чтобы ваш командный файл выполнялся скрытно, добавьте в него строку:

cmdow @ /HID — скрыть текущее окно

  1. Командный файл с комментариями, демонстрирующий возможности работы cmdow:

REM Свернуть все окна — /MA

REM запустить cmd.exe с заголовком окна MyCMD

REM ждать 5 секунд

REM Скрыть окно MyCND

cmdow MyCMD /hid

REM Сделать видимым

cmdow MyCMD /vis

REM Переместить в верхний левый угол экрана и развернуть окно

cmdow MyCMD /MOV 0 0

cmdow Mycmd /max

REM Изменить размер на 320 х 240 и переместить вправо на 320 точек

cmdow MyCMD /MOV 320 0 /SIZ 320 240

REM Переместить окно в точку с координатами 320 x 240 и изменить размер на 350×50

cmdow MYCMD /MOV 320 240 /SIZ 350 50

REM Восстановить окно

cmdow MYCMD /RES

REM Восстановить и сделать активным окно этого командного файла

ECHO Для завершения нажмите CTRL-C (CTRL-Break)

REM Зацикливание — переход к метке :M1

REM Подпрограмма задержки на 5секунд

@ping -n 5 localhost > nul

  1. Командный файл, закрывающий окна Проводника Интернет (IEXPLORE.EXE):

Для того чтобы выполнить несколько команд из одной командной строки, нужно объединить их с помощью символа условной обработки:

команда1 & команда2 — Используется для разделения нескольких команд в одной командной строке. В cmd.exe выполняется первая команда, затем вторая команда.

команда1 && команда2 — Запускает команду, стоящую за символом &&, только если команда, стоящая перед этим символом была выполнена успешно. В cmd.exe выполняется первая команда. Вторая команда выполняется, только если первая была выполнена успешно.

команда1 || команда2 — Запускает команду, стоящую за символом ||, только если команда, стоящая перед символом || не была выполнена. В cmd.exe выполняется первая команда. Вторая команда выполняется, только если первая не была выполнена (полученный код ошибки превышает ноль).

Пример:

С файла file.txt будет снят атрибут "Скрытый" и если команда attrib при этом не вернёт ошибку, файл будет переименован в file.tmp.

Комментарии

Большое спасибо за статью! Именно то, что мне было нужно.

Офигеть! Полезные советы! Спасибо!

Спасибо большое. Давно искал.

Крутяк, добавлю в закладки.

пфффффффффффф вот это лайфхак епт, я тут тыркаю по 6 команд в гите поштучно, а тут вон оно че Михалыч. спасибо большое!

одна вертикальная черта | используется когда нужно выполнить одновременно несколько команд, не зависимо от результата и завершения предыдущей команды

При одной вертикальной линии команды выполняются всё равно последовательно.

Bat-файлы Windows являются удобным способом выполнения различных задач на ПК, которым активно пользуются компьютерные умельцы. Они позволяют автоматизировать повседневные задачи, сократить время их выполнения и превратить сложный процесс во что-то посильное рядовому пользователю. В данной статье представлены базовые возможности командных файлов и рекомендации по самостоятельному их написанию.

Автоматизация – это просто

Как создать bat-файл? Для этого нужно выполнить следующие действия:


Необработанный файл будет выглядеть примерно так:

title Это ваш первый скрипт bat-файла!

Более подробно о командах bat-файлов и их использовании речь пойдет ниже.

Шаг 1: создание программного скрипта

Предположим, что у пользователя часто возникают проблемы с Сетью. Он постоянно пользуется командной строкой, набирая ipconfig и пингуя Google для устранения неполадок в Сети. Через некоторое время пользователь понимает, что было бы намного эффективнее, если бы он написал простой bat-файл, записал его на свой USB-накопитель и запускал его на компьютерах, которые он диагностирует.

Создание нового текстового документа


Добавление кода

Двойной щелчок на этом новом текстовом документе откроет принятый по умолчанию текстовый редактор. Можно скопировать и вставить приведенный выше пример кода в текстовую запись.

Сохранение

Но экране появится надпись:

В случае если bat-файл не запускается, пользователи рекомендуют зайти в регистр и удалить ключ:

Не стоит думать, что это все, на что способны сценарии пакетной обработки. Параметрами скриптов являются измененные версии команд командной строки, поэтому пользователь ограничен только их возможностями. А они довольно обширные.


Шаг 2: знакомство с некоторыми командами

Если пользователь ПК знаком с тем, как следует выполнять команды консоли DOS, то он будет мастером создания программных скриптов, потому что это один и тот же язык. Строки в bat-файлах сообщат интерпретатору cmd.exe все, что от него требуется. Это экономит время и силы. Кроме того, есть возможность задать некоторую логику (например, простые циклы, условные предписания и т. д., которые концептуально схожи с процедурным программированием).

Встроенные команды

1. @echo – это команда bat-файлов, которая позволит увидеть работу скрипта в командной строке. Она используется для просмотра хода выполнения рабочего кода. Если у пакетного файла возникают какие-либо проблемы, то данная команда позволит быстро локализировать проблемы. Добавление off дает возможность быстро завершить выполнение кода, избегая вывода ненужной информации на экран.

2. Title предоставляет те же возможности, что и тег в HTML, т. е. создает заголовок для пакетного скрипта в окне командной строки.

3. Call вызывает один bat-файл из другого или подпрограмму внутри одного сценария. Например, функция power вычисляет степень %2 числа %1:

if %counter% gtr 1 (

endlocal & set result=%prod%


4. Cls очищает командную строку. Используется для того, чтобы предыдущий вывод постороннего кода на помешал просмотру хода выполнения текущего скрипта.

5. Color задает цвет шрифта и фона. Например, команда color f9 задает белые буквы на синем фоне. Команда без параметра восстанавливает установки по умолчанию.

6. Echo служит для вывода информации, а также включения (echo on) или выключения (echo off) такого вывода. Например, команда echo. выводит новую строку без точки, а echo . – точку. Без параметров команда выводит на экран информацию о своем текущем статусе – echo on или echo off.

7. Rem обеспечивает ту же функциональность, что и тег > (сдвиг вправо). Логическим оператором отрицания является ! (восклицательный знак). Он изменяет 0 в 1 и ненулевое значение в 0. Оператором комбинирования служит , (запятая), которая позволяет производить большее число операций в одной команде set. Комбинированные операторы присваивания += и -= в выражениях a+=b и a-=и соответствуют выражениям a=a+b и a=a-b. Так же работают и *=, %=, /=, &=, |=, ^=, >>=, >, >=; ,

Литералы можно вводить в виде десятичных, шестнадцатеричных (с ведущими 0x) и восьмеричных чисел (с ведущим нулем). Например, set /a n1=0xffff присваивает n1 шестнадцатеричное значение.

Внешние команды

  • Exit используется для выхода из консоли DOS или (с опцией /b) только текущего bat-файла или подпрограммы.
  • Ipconfig – это классическая консольная команда, которая выводит информацию о сети. Она включает MAC- и IP-адреса, и маски подсети.
  • Ping пингует IP-адрес, отправляя к нему пакеты данных, чтобы оценить его удаленность и время ожидания (отклика). Также используется для задания паузы. Например, команда ping 127.0.01 –n 6 приостанавливает выполнение кода на 5 с.

Библиотека команд bat-файлов огромна. К счастью, в Сети есть множество страниц, в которых все они перечислены, наряду с переменными пакетного скрипта.


Шаг 3: запись и запуск bat-файла

Следующий скрипт намного упростит ежедневную онлайн-активность. Что делать, если есть желание мгновенно открыть все свои любимые новостные сайты? Поскольку скрипты используют команды консоли, то можно создать сценарий, который открывает каждую новостную ленту в одном окне браузера.

После сохранения для запуска скрипта достаточно дважды щелкнуть на нем. Веб-страницы мгновенно начнут загружаться. При желании можно разместить этот файл на своем рабочем столе. Это позволит получить мгновенный доступ ко всем любимым сайтам.

Организатор

rem Каждый файл в папке

rem проверить на наличие расширения и непринадлежность к данному скрипту

rem проверить наличие папки для каждого расширения, и если ее нет, то создать

rem переместить файл в папку

Это простая демонстрация того, на что способны пакетные скрипты. Если какую-то несложную задачу необходимо выполнять снова и снова, будь то упорядочение файлов, открытие нескольких веб-страниц, массовое переименование или создание копий важных документов, пакетный сценарий поможет выполнить утомительную работу за пару кликов.

Я научу вас ремонтировать свой компьютер!


В процессе работы с операционной системой Windows может возникать необходимость зацикливания DOS-команд, создания многоуровневой цикличности повторяющихся действий или программ, автоматизирования рабочего процесса с утилитами и файлами в ручном или без участия юзера.

Для этих целей предназначены специальные типы файлов, которым присваивается расширение bat, в которых прописывается определенный набор команд, цикличность выполнения которых и необходимо создать. Таким образом, создав такой файл и прописав в него необходимые команды, а также добавив его в системный планировщик задач, можно реализовывать этот процесс полностью в автоматическом режиме без участия пользователя.

Основным преимуществом bat-файлов является отсутствие необходимости прописывать в них какой-либо программный код, благодаря чему работать с ними может даже начинающий юзер. Все что необходимо для создания такого файла — это задать исходную информацию, которая будет исполняться DOS-процессами. Помимо этого, этот процесс реализовывается одинаково на всех версиях Windows. В качестве примера можно привести системный файл autoexec.bat, в котором находится список всех служб и приложений, которые должны быть запущены при старте Windows.

BAT-файлы: основные возможности

В зависимости от реализовываемых функций, bat-файлы подразделяются на несколько типов:

— информационные, которые отвечают за вывод на дисплей определенной информации;
— рабочие, с помощью которых осуществляется запуск пакетных документов;
— циклические, предназначенные для создания рабочих циклических процессов;
— многоуровневые, которые отвечают за иерархическое исполнение системных команд, с использованием заданных условий;
— программные, позволяющие работать с утилитами.

Исполнение bat-файлов

Запустить исполнение командных файлов можно несколькими методами. Одним из наиболее простых является командная строка, в которой необходимо просто прописать название bat-файла. При этом допускается использование и дополнительных параметров. Как только все файлы указаны, их реализация будет происходить в автоматической режиме, в той последовательности, которую указал пользователь.

Если bar-файлы хранятся в различных директориях, то помимо имени потребуется указание полного пути к нему. При этом указывать расширение необязательно. Давайте предположим, что необходимо запустить выполнение bat-файла с именем priroda.bat, а также дополнительными параметрами resize.doc и /p, расположенного по адресу с:photogaleryotpusk. Таким образом, для запуска файла достаточно прописать в командной строке команду с:homephotogaleryotpusk resize.doc /p и начнется автоматическое выполнение процесса.

Прерывание выполнения командного файла

Запуск другого bat-файла

Последовательное исполнение

При запуске исполнения командного файла происходит оповещение юзера при помощи окна уведомления, после чего начинается непосредственное его выполнение. Однако эти оповещения не всегда являются уместными, поскольку bat-файлы большого объема могут отвлекать юзера от другой работы за компьютером длинными оповещениями. А вот при отладке они, наоборот, окажутся весьма кстати. Для управления функцией вывода команд на дисплей предназначена команда ECHO, а при помощи параметров ON и OFF можно активировать и деактивировать отображение уведомлений.

Если возникла необходимость отключения вывода на экран одной или нескольких команд, то в начале строки необходимо прописать команду @ECHO OFF. Стоит отметить, что многие киберпреступники используют такую команду для того, чтобы скрыть работу вредоносного программного обеспечения, помещенного в исполняемые командные файлы.

Если команды ECHO прописана неправильно и после основных параметров в тексте команды присутствуют другие символы, то она работать не будет и вместе с текстом основного уведомления на дисплей будет выводиться и сама команда. Стоит отметить, что при помощи командных файлов можно настроить даже звуковое оповещение, которое будет подаваться при помощи спикера. Для этого, после основного символа необходимо поставить цифру 7. Если возникла необходимость повышения качества читабельности текста уведомления необходимо после ECHO поставить точку, не используя пробел.

Помимо стандартного вывода команд на экран, можно настроить отображение оповещений в отдельном файле. Для этого потребуется настроить путь вывода, просто заменив монитор на определенный файл. Делается это также при помощи bat-файлов, в которых прописываются следующие команды:

Использование комментариев

Для удобства работы с командными файлами большого объема, содержащих множество команд, реализована возможность использования комментариев. Для этого необходимо поставить в начале строки параметр REM, после которого прописывается сам комментарий. Все что находится после этого параметра полностью игнорируется операционной системой.

Задержка исполнения командного файла

Последовательное исполнение пакета файлов

При помощи командного файла можно настроить последовательное выполнение большого количества файлов. При этом доступна возможность исполнения по названию или типу расширения. Это позволяет автоматизировать работу с большим количеством документов, например, с прайс-листами, которые поступают на электронную почту от поставщиков. Для этих целей предназначена команда FOR, вариант исполнения которой выглядит так:

— FOR %x IN (перечень файлов) DO команда, где:
— х — любой буквенный символ;
— перечень — все файлы можно перечислять через пробел;
— команда — любая DOS-команда или утилита.

Стоит отметить, что при использовании команды FOR необходимо учитывать тот факт, что все DOS-команды и программы обладают ограниченной длиной. Если возникнет необходимость использования длинных названий, то перед этой командой нужно поставить параметр LFNFOR ON, который активирует длинные имена. Для деактивации этого режима потребуется параметр ON заменить на OFF.

Некоторые операции с утилитами, например, сравнение файлов, обладающих заданным типом расширения, расположенных по различным адресам, а также копирование содержимого одной папки в другую, последовательное исполнение однотипных файлов и многих других, можно выполнить при помощи всего одной команды, помещенной в командный файл. При этом исполнение любой команды или файла можно совмещать с определенными пользовательскими действиями, благодаря чему можно значительно повысить удобство работы с большими пакетами данных.

Переходы в командных файлах

Чтобы систематизировать процесс исполнения команд батниках используются метки и команды перехода между ними. В качестве меток используются строки командного файла, в начале которых ставится двоеточие, после чего задается имя, которое может содержать любой набор символов. Для отделения имени от команды используется пробел. Помимо этого, для каждой метки юзер может создавать комментарий, что существенно упрощает работу с объемными файлами.
Для настройки перехода между метками предназначена команда GOTO, после которой через пробел указывается название одной из меток. Если система не смогла найти указанную метку или заданный параметр, то действие перехода на этой команде завершается.

Использование условий в работе командных файлах

Командные файлы позволяют работать с командами, которые попадают или не попадают под заданные юзером параметры. Для этого используется команда IF, после которой прописывается одно из следующих условий;
— ERRORLEVEL число — подразумевает истинность условия в том случае, если результат выполнения предыдущего приложения соответствует или превышает заданное значение;
— СТРОКА 1 == СТРОКА 2 — истинность значения подразумевается в том случае, если достигается полное соответствие между двумя строками;
— EXIST — имя файла — истинность сохраняется при наличии указанного файла;
— NOT — условие — истинное значение достигается при несоответствии заданного значения.

Какие команды используются в bat-файлах?

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

Работа командных файлов при резервном копировании данных

BAT-файлы очень сильно помогают в повседневной работе системных администраторов, которые используют их при выполнении самых различных задач, наиболее важной, среди которых является резервное копирование данных. Чтобы автоматизировать этот процесс в крупной корпоративной сети нужно в батник поместить команду COPY. Помимо этого, можно настроить расписание резервного копирования наиболее важных файлов с сохранением в указанную директорию просто создав в планировщике Windows запуск этого файла по определенным дням недели или датам.

Запись опубликована 05.04.2016 автором katrinas11 в рубрике Моя жизнь. Отблагодари меня, поделись ссылкой с друзьями в социальных сетях:

Читайте также: