Команды bat файла: Как зациклить выполнение команды в bat-файле?

Содержание

Как зациклить выполнение команды в bat-файле?

Windows
  • Bot
  • 25.01.2020
  • 9 473
  • 3
  • 05.02.2021
  • 20
  • 20
  • 0
  • Содержание статьи

Описание

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

Инструкция

Цикл организуется следующим образом:

:loop
... <- здесь команда для создания паузы
.
.. <- здесь другие команды, которые необходимо выполнять в цикле goto loop

Паузу можно создать несколькими способами. В операционных системах Windows Vista, и более новых, для этого существует команда timeout:

timeout /t 5

где параметр /t — это время ожидания в секундах.


Другая команда, которую можно использовать для данной цели (например, в Windows XP, в которой еще не присутствовала команда timeout), это команда ping:

ping -n 1 -w 100000 192.168.254.254 >nul
  • -n 1 — выполнить один запрос
  • -w 100000 — ждать ответа 100 секунд (значение указывается в миллисекундах), меняете это значение на то, которое нужно вам
  • 192.168.254.254 — IP адрес, который заведомо не существует в локальной сети, т.е. никогда не ответит на ping, поэтому команда будет выполняться до достижения таймаута
  • >nul — перенаправление всего вывода команды ping в никуда.

Кроме этого, существует утилита sleep, которая выполняет те же функции, что и команда timeout. Данная утилита не входит в стандартный состав ни одной операционной системы Windows, и устанавливается из дополнительного пакета программного обеспечения «Windows Server 2003 Resource Kit Tools» на любую операционную систему Windows. Скачать данный пакет можно с сайта Microsoft, или нашего зеркала на Яндекс.Диск.

Использование программы sleep очень простое:

sleep 5

где цифра 5 обозначает время ожидания в 5 секунд.

Bat работа с файлами — Вэб-шпаргалка для интернет предпринимателей!

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

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

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

  1. В любом текстовом редакторе, например, в Notepad или WordPad, создать текстовый документ.
  2. Записать в нем свои команды, начиная с @echo [off], а затем (каждый раз в новой строке) – title [название пакетного скрипта], echo [сообщение, которое будет выведено на экран] и pause.
  3. Сохранить текст в электронном документе с расширением.bat (например, test.bat).
  4. Для запуска следует дважды щелкнуть по только что созданному пакетному файлу.
  5. Чтобы его отредактировать, необходимо кликнуть на нем правой кнопкой мыши и из контекстного меню выбрать пункт «Изменить».

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

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

echo Добро пожаловать в сценарий пакетной обработки!

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

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

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

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

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

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

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

Сохранение

Вышеупомянутый скрипт выводит на экран текст «Добро пожаловать в сценарий пакетной обработки!». Электронный документ необходимо записать, выбрав пункт меню текстового редактора «Файл», «Сохранить как», а затем указать желаемое имя bat-файла. Его следует завершить расширением .bat (например, welcome.bat) и нажать «ОК». Для правильного отображения кириллицы в некоторых случаях следует удостовериться в правильном выборе кодировки. Например, при использовании консоли русифицированной системы Windows NT документ необходимо сохранить в CP866. Теперь следует дважды щелкнуть на ярлыке bat-файла, чтобы активировать его.

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

«Добро пожаловать в сценарий пакетной обработки! Для продолжения нажмите любую клавишу. «

В случае если 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-файла

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

Далее следует повторить процесс создания bat-файла, начав с пустого текстового документа. Для этого необходимо щелкнуть правой кнопкой мыши на пустом месте в какой-либо папке и выбрать пункт «Создать», а затем – «Текстовый документ». После открытия файла требуется ввести следующий скрипт, который запускает основные русскоязычные средства массовой информации, доступные в Интернете:

Данный скрипт содержит команды start “”, которые открывают несколько вкладок. Можно заменить предложенные ссылки любыми другими на выбор. После ввода скрипта следует зайти в меню редактора «Файл», а затем в «Сохранить как. » и записать документ с расширением .bat, изменив параметр «Тип файла» на «Все файлы» (*. *).

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

Организатор

Если загружать по несколько файлов в день, то в скором времени в папке «Загрузки» их скопятся сотни. Можно создать скрипт, который упорядочит их по типу. Достаточно поместить .bat-файл с программой в папку с неорганизованными данными и дважды щелкнуть для запуска:

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

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

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

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

В итоге файлы в директории «Загрузки» сортируются по папкам, названия которых соответствуют их расширению. Это так просто. Данный пакетный скрипт работает с любым типом данных, будь то документ, видео или аудио. Даже если ПК не поддерживает их, сценарий все равно создаст папку с соответствующей меткой. Если уже есть каталог JPG или PNG, то программа просто переместит туда файлы с данным расширением.

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

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

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

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

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) и выводить такой текст:

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

Задание №2: изменить созданный файл так, чтобы в случае, когда первый параметр — это строка test, выдавалось сообщение «First parameter — !» Для решения задачи используем команду 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)

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

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

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

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

if %1==odin goto odin

if %1==dva goto dva

echo End of example

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

Очень полезно знать, что прописано в эту переменную, когда вы будете устанавливать какую-нибудь программу типа 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 — Графический Интерфейс Пользователя — в противоположность текстовому интерфейсу командной строки

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

Чтобы открыть командную строку в нужном месте (в папке с файлами, например), нужно вызвать контекстное меню (ПКМ) с зажатой клавишей Shift :

О том, как работать с командной строкой вы можете прочесть в этой статье. Переходим непосредственно к командам.

Список всех команд консоли с описанием можно получить, набрав в консоли help
Справку по любой команде можно получить при помощи ключа /?
Например: DIR /? выведет справку по всем ключам команды DIR

Удаление временных файлов перед выключением компьютера

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

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

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

Программа CCleaner по-умолчанию отсутствует в Windows. Её нужно установить отдельно. Скачать установщик можно на сайте разработчика.

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

Необходимо создать BAT-файл и скопировать этот пример в него. Ярлык на bat-файл вывести на рабочий стол, назначить ему красивую иконку и выключать компьютер при помощи этого ярлыка-кнопки.

Получить список файлов в папке с помощью Bat-файла

Периодически пользуюсь bat-файлами для получения списков файлов в папках. Частая ситуация: по работе клиенты присылают от фотографа архив с фотографиями. Фотографии имеют названия в соответствии с артикулами товаров.

Никакой текстовой информации, сопровождающей фотографии нет. Необходимо сделать список на основе присланных фотографий и импортировать его в каталог товаров на сайте. Для каждого товара сделано по несколько фото. Они именованы так:

  1. Фото товара с артикулом А1234.jpg
  2. Фото товара с артикулом А1234 (2).jpg
  3. Фото товара с артикулом В1234.jpg
  4. Фото товара с артикулом В1234 (2).jpg

Сначала я получаю список всех файлов, находящихся в папке при помощи следующей команды:

Команда *.jpg позволит учитывать только JPG-файлы при составлении списка. Ключ /B позволит получить список, содержащий только имена файлов, находящихся в папке. Ключ /L выведет все имена в нижнем регистре. Команда >filelist.txt создаст текстовой файл с именем filelist и запишет резутьтат туда.

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

Команда findstr будет осуществлять поиск в ранее полученном файле. Ключ /I позволяет искать записи без учёта регистра, а ключ /V записывает строки, в которых отсутствует искомое совпадение. В кавычках указана строка, совпадение с которой нужно фиксировать. И последняя команда > temp.txt запишет в файл temp все результаты, не содержащие в имени «(2)». В результате я получу:

  1. Фото товара с артикулом А1234.jpg
  2. Фото товара с артикулом В1234.jpg

И далее на основе этого текстового списка буду готовить файл для импорта.

Если вам понадобится провести обратную операцию — вывести в файл temp.txt только совпадения, то в списке команд ( findstr /? ) вы не найдёте нужной. Есть только обратный фильтр по точному совпадению — /X .

Для этой задачи можно воспользоваться командой вывода номера строк /N , в которых имеются совпадения (номера выводятся вместе со строкой):

Главное при работе с текстовой информацией (текстовыми файлами) помнить один момент:

Если для текстовых операций вы в качестве исходника используете файл, который создали не через командную строку, он должен быть в кодировке, которая понимается командной строкой. Например, CP1251 (ANSI) .

Иначе рискуете получить на выходе нечто такое:

Скопировать дерево каталогов без файлов

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

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

Команда xcopy берёт за основу дерево каталога по адресу folder_1 и создаёт его копию в папке folder_2 . Ключ /T позволяет осуществить копирование каталогов, не копируя файлы, лежащие в них. Ключ /E уточняет, что копировать необходимо все каталоги, в т.ч. пустые.

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

Читать далее:

Если материалы сайта оказались для вас полезными, можете поддержать дальнейшее развитие ресурса, оказав ему (и мне ) моральную и материальную поддержку.

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

В принципе в командной строке Windows всё просто. Любой, кто умеет печатать, сможет без труда работать в ней. Но для человека непосвященного командная строка может показаться сложной. Чтобы без проблем освоиться, надо знать основные команды и общие правила работы.

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

Рекомендуем к прочтению

Консоль в Windows или немного о BAT и командной строке

Привет, друзья.

Кому посчастливилось родиться в 80-ых годах (или раньше) и сравнительно рано заиметь компьютер, прекрасно знают про DOS. Пусть в нём и были удобные файл-менеджеры, вроде Norton Commander, или горячо мною любимый DOS Navigator (пиратский, конечно), консолью пользоваться приходилось. Кто не знает, это такой чёрный экран с текстом. Всё управление осуществлялось посредством ввода специальных команд. Сейчас в Windows для всего существуют привычные окошки. Но командную строку выпиливать не стали.


Любители Линукса с консолью тоже знакомы. Остальные могут задаться вопросом: нафига она нужна? Так и есть, не нужна, если возникают подобные вопросы. Пост для тех, кто хочет. Рассмотрим несколько примочек стандартного cmd.exe, вызываемого при запуске bat-файла.

*.bat — пакетный файл, содержит последовательность команд. Выполняется с помощью интерпретатора командной строки — cmd.exe сейчас или command.com во времена DOS.

Кто-то может сказать, что bat-файлы не нужны, если есть консоль. Всё так, но «батнички» создаются для удобства. Допустим, есть группа картинок в какой-то папке, которые надо прогнать через оптимизатор. Если картинки постоянно новые, например, перед публикацией очередной статьи на блоге, удобнее подготовиться один раз, после чего скинуть файлы в папку, запустить bat-файл и загружать готовые картинки.

Рассмотрим группу полезных и не очень команд, которые могут использоваться при работе.

Команда pause

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

echo Hello!
pause

Команда @echo off

Многие батники начинаются с этой строки. Проиллюстрировать, что делает программа, проще всего на таком батнике:

@echo off
echo Hello
pause

Если первой строки нет, будет тот вариант, что слева. При наличии этой строки — вариант справа. Получается, @echo off препятствует выводу исполняемой команды. Результаты работы в консоли отображаются.

Команда cls

Всё, что делается — очищается консоль.

echo Hello!
pause

Разделитель команд

Для выполнения сразу нескольких команд можно использовать & — символ амперсанда.

color 2 & cls & pause

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

Переключить диск на другой

Просто пишем букву диска и ставим двоеточие:

d:

Текущий диск меняется на D.

Вывод текущего каталога, смена каталога

Команда cd без параметров выводит полный путь к тому месту, где мы находимся. Для смены нужно добавить параметр с путём:

cd c:\windows

Меняет путь на системную директорию Windows. Важно! Команда работает только в путями диска, на котором находимся в данный момент. Если нужно использовать файл с другого диска, для начала переключитесь на него (см. предыдущую команду).

Вывод в файл

Есть и такая возможность. Используйте символ > с указанием имени файла, в который надо скопировать результат работы команды.

dir > 1.txt

В файл 1.txt будет записан листинг (вывод) команды dir, которая выводит список всех папок и файлов в текущем каталоге.

Установка переменных

Для этого нужно использовать команду set, а в качестве параметра указать имя переменной и сразу, без пробелов, знак равно и значение. Для доступа к установленной переменной в программе используется её имя, обрамлённое знаками процента. Пример:

@echo off
set a=Hello, World!
echo %a%
pause

Как назначить переменной текущий путь

Путь к текущему каталогу содержится в особой переменной %~dp0.

@echo off
set current_path=%~dp0
echo %current_path%
pause

SetLocal и параметры

В начало bat-файла обычно добавляются параметры для изменения значения переменных среды выполнения.

  1. EnableExtensions — включение расширенной обработки команд. В частности, нужно для обработки флага /r.
  2. EnableDelayedExpansion — для корректного изменения переменных. Установленные переменные далее, в циклах, не меняются. Этот флаг позволяет изменить поведение, но для доступа к переменным нужно использовать не знаки процента %var%, а восклицательные знаки !var!.
SetLocal EnableExtensions EnableDelayedExpansion

Получение определённых файлов из каталога и его подкаталогов

Выше упоминалась команда dir, которая выводила содержимое текущего каталога. Она может принимать в качестве пути маску для поиска, но действует, опять же, только в целевой директории. Для рекурсивного поиска существует команда for с флагом /R.

for /R . %%a IN (*.png) DO echo %%a

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

переменной.

Замена части строки на другую

Очень интересный синтаксис. В момент использования переменной, нужно сразу после её имени поставить двоеточие, указать ЧтоМеняем, знак равно и НаЧтоМеняем. Чтобы было ясно, пусть определена переменная a. Тогда, для замены юзается такая конструкция %a:ЧтоМеняем=НаЧтоМеняем%. Пример:

@echo off
set a=Hello, world
echo %a:Hello=Aloha%
pause

Выведет на экран надпись Aloha, world.

Вывод путей файлов относительно текущего каталога

Для этого потребуются фишки, используемые выше.

@echo off
SetLocal EnableExtensions EnableDelayedExpansion
for /R . %%a IN (*.png) DO (
    set fn=%%a
    echo !fn:%~dp0=!
)
pause

Вторая строка здесь обязательна. Без установки флага EnableDelayedExpansion переменная fn не раскроется. При отсутствии EnableExtensions работать будет, но это не точно — некоторые пользователи могут переопределить соответствующую настройку в реестре, и программа будет ругаться на флаг /R. Поэтому просто указываем оба параметра, на случай юзеров с непредвиденным поведением рук.


Пожалуй, на сегодня достаточно. Для более детальной справки по указанным программа пользуйте стандартный параметр /? например так:

for /?

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

Автор публикации

2 070

не в сети 5 месяцев

x64 (aka andi)

Комментарии: 2893Публикации: 405Регистрация: 02-04-2009 Загрузка…

Написание Bat скриптов своими руками


Всем нам, приходилось сталкиваться с рутинными задачами изо дня в день на работе, и не только.

Например:

  1. Необходимо раз в месяц удалять все файлы из папки обмен.
  2. «Добросовестные» пользователи не выключают компьютеры, и уходят домой, а вам потом по голове дают за то, что компьютер работал, и жрал электроэнергию.
  3. У вас 20 человек в кабинете, принтер один и всем нужно выводить на него печать. Можно написать батник закинуть его в обмен зайти в кабинет и всем пользователям сказать зайдите туда-туда, нажмите то-то, и можете печатать, а если у Вас есть active directory, то можно распространить с помощью неё.

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

Давайте разберем первый пример:

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

  1. Открываем WordPad, блокнот не подойдет, он не умеет сохранять в кодировке 866.
  2. Пишем:

del /q “c:\обмен\”
pause
Команда del- удаляет файлы, ключ q говорит, удалять файлы без подтверждения пользователя, дальше идет путь до папки обмен, команда pause – это для вашего удобства, что бы окно не закрылось автоматически после выполнения работы скрипта, можно её не писать.

  1. Дальше выбираем Файл => Сохранить как => в строке Имя файла пишем допустим, del_obmen.bat, жмем Ок, запускаем и наслаждаемся.

Второй пример:

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

  1. Открываем WordPad.
  2. Пишем:

SHUTDOWN /s
Пояснения я думаю ни к чему.
3. Дальше выбираем Файл => Сохранить как => в строке Имя файла пишем допустим, shutdown.bat, жмем Ок, запускаем и наслаждаемся.
4. Дальше открываем панель управления => планировщик заданий, создаем задание в 20 00, думаю понятно для чего.

Третий пример:

У вас 20 человек в кабинете, принтер один и всем нужно выводить на него печать. Можно написать батник закинуть его в обмен зайти в кабинет и всем пользователям сказать зайдите туда-туда, нажмите то-то, и можете печатать, а если у Вас есть active directory, то можно распространить с помощью неё.

  1. Открываем WordPad.
  2. Пишем:

start \\192.168.0.37\SamsungU
Start – запуск, \\192.168.0.37 – ip адрес, \SamsungU – имя принтера.

Если у вас ip адреса раздаются по DHCP, то лучше ввести не ip адрес, а имя компьютера. 

3. Дальше выбираем Файл => Сохранить как => в строке Имя файла пишем допустим, print.bat, жмем Ок, запускаем и наслаждаемся.

Создание bat Файла своими руками


 

Основные команды, которые используются для написания батников:

ASSOC — Отображает или модифицирует связи расширений файлов
AT — Планирует команды и программы для выполнения на компьютере.
ATTRIB — Отображает или изменяет атрибуты файла.
BREAK — Устанавливает или отменяет проверку комбинации [Ctrl+C].
CACLS — Отображает или модифицирует списки управления доступом (ACLs) для файлов.
CALL — Вызывает один *.BAT-файл из другого.
CD — Отображает имя или изменяет имя текущей директории.
CHCP — Отображает или устанавливает номер активной кодовой страницы.
CHDIR — Отображает имя или изменяет имя текущей директории.
CHKDSK — Проверяет диск и отображает отчет о состоянии.
CLS — Очищает экран.
CMD — Стартует новый экземпляр интерпретатора команд Windows NT.
COLOR — Устанавливает цвета по умолчанию для переднего и заднего плана консоли.
COMMAND — Стартует новую копию интерпретатора команд Windows.
COMP — Сравнивает содержимое двух файлов или установки файлов.
COMPACT — Отображает или видоизменяет сжатие файлов на патрициях Windows NT(NTFS).
CONVERT — Конвертирует FAT томов к формату файловой системы Windows NT(NTFS). Вы не можете конвертировать текущий диск.
COPY — Копирует один или больше файлов на другое место.
CTTY — Изменяет терминальное устройство, используемое для управления вашей системой.
DATE — Отображает или устанавливает дату.
DEL — Удаляет один или более файлов.
DEBUG — Выполняет отладку, тестирование программ и редактирование инструментальных средств.
DIR — Отображает список файлов и поддиректорий в директории.
DISKCOMP — Сравнивает содержимое двух дискет.
DISKCOPY — Копирует содержимое одной дискеты на другую.
DOSKEY — Редактирует командные строки, восстанавливает команды Windows и создает макрос.
ECHO — Отображает сообщения, или включает/выключает вывод команд.
EMM386 — Включает/выключает поддержку расширенной памяти EMM386.
ENDLOCAL — Заканчивает локализацию изменений окружающей среды в *.BAT-файле.
ERASE — Удаляет один или более файлов.
EXIT — Прекращает выполнение программы «CMD.EXE» (интерпретатор команд).
EXTRACT — Средство извлечения информации из CAB — файлов.
FC — Сравнивает два файла или установки файлов, и отображает различие между ними.
FIND — Ищет текстовую строку в файле или файлах.
FINDSTR — Поиск строк в файлах.
FOR — Выполняет указанную команду для каждого файла в наборе файлов.
FORMAT — Форматирует диск для использования с Windows.
FTYPE — Отображает или модифицирует типы файлов, используемых в связях расширений.
GOTO — Направляет интерпретатор команд Windows NT к помеченной строке в *.BAT-файле.
GRAFTABL — Способность Windows отображать символы псевдографики, вставленные в графическом режиме.
HELP — Обеспечивает информацию Help для команд Windows.
IF — Выполняет обработку условия в *.BAT-файле.
KEYB — Конфигурирует клавиатуру для заданного языка.
LABEL — Создает, изменяет, или удаляет метку тома на диске.
LOADHIGH(LH) — Загружает программу в верхние адреса памяти.
MD — Создает директорию.
MEM — Отображает величину используемой и свободной памяти в вашей системе.
MKDIR — Создает директорию.
MODE — Конфигурирует системное устройство.
MORE — Отображает вывод одного экрана за раз.
MOVE — Перемещает один или более файлов из одной директории в другую на том же диске.
NETSTAT — Отображает статистики протоколов и текущих сетевых соединений TCP/IP.
NLSFUNC — Загружает информацию, специфическую для страны.
PATH — Отображает или устанавливает путь поиска для выполняемых файлов.
PAUSE — Приостанавливает обработку *.BAT-файла и отображает сообщение.
POPD — Восстанавливает предыдущее значение текущей директории, сохраненной по PUSHD.
PRINT — Печатает текстовый файл.
PROMPT — Изменяет подсказку к командам Windows.
PUSHD — Сохраняет текущую директорию, потом изменяет.
RD — Удаляет директорию.
RECOVER — Восстанавливает читаемую информацию с плохого или дефектного диска.
REM — Записывает комментарии (примечания) в *.BAT-файлы или CONFIG.SYS.
REN — Переименует файл или файлы.
RENAME — Переименует файл или файлы.
REPLACE — Заменяет файлы.
RESTORE — Восстанавливает файлы, которые были архивированы с использованием команды BACKUP.
RMDIR — Удаляет директорию.
SET — Отображает, устанавливает или удаляет переменные среды Windows.
SETLOCAL — Начинает локализацию изменений среды в *.BAT-файле.
SETVER — Устанавливает номер версии MS-DOS, который Windows сообщает программе.
SHIFT — Сдвигает позицию замещаемых параметров в *.BAT-файле.
SMARTDRV — Инсталлирует и конфигурирует утилиту кэширования диска SMART — драйва.
SORT — Сортирует входной поток.
START — Стартует отдельное окно для выполнения указанной программы или команды.
SUBST — Связывает путь с литерой диска.
SYS — Копирует файлы системы MS-DOS и интерпретатор команд на указанный вами диск.
TIME — Отображает или устанавливает системное время.
TITLE — Устанавливает заголовок окна для сеанса «CMD.EXE» .
TREE — Графически отображает структуру директория в драйве или путь.
TYPE — Отображает содержимое текстового файла.
VER — Отображает версию Windows.
VERIFY — Сообщает Windows, проверять ли правильность записи файлов на диск.
VOL — Отображает метку дискового тома и серийный номер.
XCOPY — Копирует файлы и деревья директории.
Также есть очень хороший форум, где куча готовых скриптов.
Командная строка, батники\сценарии (bat, cmd) 

Предыдущая

Windowsntvdm.exe загрузка процессора на 100%

Следующая

WindowsОбзор Windows 8

EXIT – завершение работы интерпретатора команд или пакетного файла.

    Команда EXIT используется для завершения пакетных файлов с установкой значения переменной ERRORLEVEL или для завершения командного процессора CMD.EXE ( для выхода из командной строки), если она выполняется вне пакетного файла.

Формат командной строки:

EXIT [/B] [exitCode]

Параметры командной строки:

/B — Предписывает завершить текущий пакетный файл-сценарий вместо завершения CMD.EXE. Если выполняется вне пакетного файла-сценария, то будет завершена программа CMD.EXE

exitCode — Указывает цифровое значение. Если указан ключ /B, определяет номер для ERRORLEVEL. В случае завершения работы CMD.EXE, устанавливает код завершения процесс с данным номером.

Примеры использования команды EXIT

exit — завершить текущий сеанс CMD

Команда EXIT с параметрами используются, как правило, только в командных файлах. Например, для индикации результата выполнения с установкой значения переменной среды ERRORLEVEL

@echo off

Команды . . .

REM перейти к метке, где выполняется выход с ERRORLEVEL=0

goto EXIT0

Команды . . .

REM перейти к метке, где выполняется выход с ERRORLEVEL=1

goto EXIT1

REM установить ERRORLEVEL равный 0 и завершить работу

:EXIT0

exit 0

REM установить ERRORLEVEL равный 1 и завершить работу

:EXIT1

exit 1

Параметр /B используется в тех случаях, когда выполняется завершение командного файла, но необходимо продолжить работу командного процессора. Например, когда командный файл 1.bat вызывает командной CALL другой командный файл 2.bat, результат выполнения которого, характеризуется значением переменной окружения ERRORLEVEL. Если в вызываемом командном файле использовать команду EXIT без параметра /B, то будет завершена работа вызываемого файла 2.bat, а также вызывающего файла 1 .bat и интерпретатора CMD.EXE, т.е вместо выхода из вызываемого файла будет полностью завершен сеанс командной строки.

Простейший пример, когда командный файл 1.bat вызывает на выполнение другой командный файл с именем 2.bat и выводит на экран значение ERRORLEVEL, установленное при выходе из вызываемого файла:

@echo off

call 2.bat

echo Batch file 2.bat executed with ERRORLEVEL = %ERRORLEVEL%

Файл 2.bat завершается командой EXIT с установкой значения ERRORLEVEL, равного 128:

@echo off

exit /b 128

При выполнении командного файла 1.bat на экран будет выведено сообщение:

Batch file 2.bat executed with ERRORLEVEL = 128

Попробуйте убрать параметр /B в команде EXIT командного файла 2.bat и оцените полученный результат.

Как создать bat-файл в Windows 7/10 – примеры команд и сохранение батника

Использование графического интерфейса в операционных системах сегодня представляется чем-то само собой разумеющимся и совершенно естественным, но так было не всегда. Первая операционная система MS DOS, разработанная компанией Microsoft, не имела GUI, а управление выполнялось посредством ввода текстовых команд. С тех пор минуло без малого 40 лет, однако скриптовый язык командной строки по-прежнему пользуется популярностью, причём не только в среде разработчиков.

Командная строка не столь удобна, зато с её помощью можно выполнять недоступны из GUI операции. С другой стороны, запускать каждый раз консоль, вводить в неё одну за другой команды – всё это сильно замедляет работу. Впрочем, можно существенно упростить задачу, создав бат-файл или попросту батник – текстовый файл с расширением BAT, содержащий список инструкций, обрабатываемых командным интерпретатором CMD. Используются такие файлы для автоматизации разных задач, например, для удаления временных файлов по расписанию или запуска программ.

Как создать файл с расширением BAT

Итак, как создать bat-файл в Windows 7/10? Очень просто. Для этого понадобится любой текстовый редактор и знание основ командной строки. Можно использовать Блокнот, а ещё лучше Notepad++, так как последний имеет подсветку синтаксиса. Создайте в редакторе новый файл, в меню «Файл» выберите «Сохранить как», дайте будущему скрипту имя, а в выпадающем списке «Тип файла» выберите «Batch file (*bat; *cmd; *nt)».

Если для создания bat-файла захотите использовать Блокнот, расширение нужно присвоить вручную, а в списке «Тип файла» выбрать «Все файлы».

Как видите, создать файл с расширением bat не составляет сложности, есть тут, однако, свои тонкости. В командных файлах нельзя использовать перенос строк, кодировка bat-файла должна быть выставлена UTF-8, если в теле скрипта используется кириллица, кодировку нужно изменить, вставив в положенном месте команду chcp 1251.

Вместо расширения BAT можно использовать CMD, результат выполнения скрипта будет точно таким же.

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

Как сделать bat-файл вы знаете, теперь настала пора самого интересного, а именно синтаксиса языка интерпретатора CMD. Понятно, пустой батник работать не будет, он даже не запустится при двойном по нему клике. Чтобы скрипт сработал, в нём должна быть прописана хотя бы одна команда. Для наглядного примера посмотрим, как написать bat-файл для запуска программ. Допустим, приступая к работе, вы каждый раз запускаете три программы – Chrome, Firefox и VLC. Упростим задачу, создав скрипт, который будет сам запускать эти программы с интервалом в пять секунд.

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

start "" "C:/Program Files/Google/Chrome/Application/chrome.exe"
timeout /t 05
start "" "C:/Program Files/Mozilla Firefox/firefox.exe"
timeout /t 05
start "" "C:/Program Files/VideoLAN/VLC/vlc.exe"

Команда start запускает исполняемый файл нужной программы, а команда timeout /t задаёт интервал между запусками. Обратите внимание на расположение кавычек – в них берутся пути, в которых имеются пробелы. Также если в пути есть кириллические символы, в начало скрипта следует вставить изменяющую кодировку команду chcp 1251, в противном случае интерпретатор не сможет правильно прочитать путь.

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

start /b "" "путь"

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

start /b "" "путь"
pause

Рассмотрим ещё один пример команд для bat файла. Напишем скрипт, который будет в одном случае выключать компьютер, а в другом – перезагружать его. Для этих целей мы будем использовать команду shutdown с параметрами /s, /r и /t. При желании можно добавить в батник запрос на выполнение действия, вот так:

@echo off
chcp 1251
echo "Вы действительно хотите выключить компьютер?"
pause
shutdown /s /t 0

Поясняем. Первая команда скрывает текст самих команд, вторая – устанавливает кириллическую кодировку, третья – выводит сообщение для пользователя, четвертая – устанавливает паузу, пятая – выключает, а с ключом /r вместо /s перезагружает компьютер без традиционной задержки в одну минуту. Если не желаете церемониться с запросами и паузами, можете оставить только пятую команду.

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

Что ещё можно делать с помощью скриптов? Много чего, например, удалять, копировать или перемещать файлы. Допустим, у вас есть некая папка data в корне диска D, содержимое которой нужно очистить одним махом. Открываем батник и вставляем в него такую команду:

del /A /F /Q "D:/data"

А можно и так:

forfiles /p "D:/data" /s /m *.* /c "cmd /c Del @path"

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

А вот ещё один полезный пример. Напишем скрипт, который будет создавать резервную копию содержимого одной папки и сохранять данные в другую. За копирование отвечает команда robocopy:

robocopy C:/data D:/backup /e
pause

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

Запуск bat-файлов от имени администратора и по расписанию, скрытый запуск bat

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

Кроме того, можно сделать так, что конкретный батник будет запускаться с повышенными привилегиями всегда. Для этого необходимо создать на такой скрипт обычный ярлык, открыть его свойства, нажать кнопку «Дополнительно» и отметить в открывшемся окошке галочкой пункт «Запуск от имени администратора». Этот способ хорош ещё тем, что позволяет выбрать для ярлыка любой значок, тогда как файл с расширением BAT или CMD всегда будет иметь невзрачный вид.

Скрипты, как и все приложения, можно запускать по расписанию. Команда timeout /t здесь не совсем уместна, для отложенного запуска лучше всего использовать встроенный «Планировщик задач» Windows. Здесь всё просто. Открываем командой taskschd.msc Планировщик, определяемся с триггером, действие выбираем «Запустить программу» и указываем путь к bat-файлу. Вот и всё, скрипт будет запущен в положенное время.

И напоследок ещё один интересный момент. Когда вы запускаете bat-файл, на экране появляется, пусть даже на какую-то долю секунды, окно командной строки. А нельзя ли сделать так, чтобы скрипт выполнялся в скрытом режиме? Можно, причём несколькими способами. Самый простой заключается в следующем. Создаём на bat-файл ярлык, открываем его свойства и в меню «Окно» выбираем «Свёрнутое в значок». После этого единственным видимым признаком запуска скрипта будет появление значка CMD на панели задач, окон же при этом открываться не будет.

Если вы желаете полностью скрыть выполнение скрипта, можете воспользоваться «костылем» – скриптом VВS, который будет запускать ваш батник в скрытом режиме. Текст скрипта приведен ниже, сохраните его в файл hidden.vbs, предварительно заменив путь во второй строчке кода D:/sсript.bat путём к вашему батнику.

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "D:\script.bat" & Chr(34), 0
Set WshShell = Nothing

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

А на этом пока всё. Информацию касательно создания скриптов BAT без труда можно найти в интернете. Неплохо также ознакомиться с учебником Уильяма Станека «Командная строка Microsoft Windows». Несмотря на то, что с момента издания книги прошло более десяти лет, содержащаяся в ней информация до сих пор актуальна.

Как написать бат файл

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

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

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

  1. В любом текстовом редакторе, например, в Notepad или WordPad, создать текстовый документ.
  2. Записать в нем свои команды, начиная с @echo [off], а затем (каждый раз в новой строке) – title [название пакетного скрипта], echo [сообщение, которое будет выведено на экран] и pause.
  3. Сохранить текст в электронном документе с расширением.bat (например, test.bat).
  4. Для запуска следует дважды щелкнуть по только что созданному пакетному файлу.
  5. Чтобы его отредактировать, необходимо кликнуть на нем правой кнопкой мыши и из контекстного меню выбрать пункт «Изменить».

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

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

echo Добро пожаловать в сценарий пакетной обработки!

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

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

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

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

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

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

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

Сохранение

Вышеупомянутый скрипт выводит на экран текст «Добро пожаловать в сценарий пакетной обработки!». Электронный документ необходимо записать, выбрав пункт меню текстового редактора «Файл», «Сохранить как», а затем указать желаемое имя bat-файла. Его следует завершить расширением .bat (например, welcome.bat) и нажать «ОК». Для правильного отображения кириллицы в некоторых случаях следует удостовериться в правильном выборе кодировки. Например, при использовании консоли русифицированной системы Windows NT документ необходимо сохранить в CP866. Теперь следует дважды щелкнуть на ярлыке bat-файла, чтобы активировать его.

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

«Добро пожаловать в сценарий пакетной обработки! Для продолжения нажмите любую клавишу. «

В случае если 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 задает белые буквы на синем фоне.=, >>=, >, >=; ,

Литералы можно вводить в виде десятичных, шестнадцатеричных (с ведущими 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-файла

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

Далее следует повторить процесс создания bat-файла, начав с пустого текстового документа. Для этого необходимо щелкнуть правой кнопкой мыши на пустом месте в какой-либо папке и выбрать пункт «Создать», а затем – «Текстовый документ». После открытия файла требуется ввести следующий скрипт, который запускает основные русскоязычные средства массовой информации, доступные в Интернете:

Данный скрипт содержит команды start “”, которые открывают несколько вкладок. Можно заменить предложенные ссылки любыми другими на выбор. После ввода скрипта следует зайти в меню редактора «Файл», а затем в «Сохранить как. » и записать документ с расширением .bat, изменив параметр «Тип файла» на «Все файлы» (*. *).

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

Организатор

Если загружать по несколько файлов в день, то в скором времени в папке «Загрузки» их скопятся сотни. Можно создать скрипт, который упорядочит их по типу. Достаточно поместить .bat-файл с программой в папку с неорганизованными данными и дважды щелкнуть для запуска:

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

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

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

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

В итоге файлы в директории «Загрузки» сортируются по папкам, названия которых соответствуют их расширению. Это так просто. Данный пакетный скрипт работает с любым типом данных, будь то документ, видео или аудио. Даже если ПК не поддерживает их, сценарий все равно создаст папку с соответствующей меткой. Если уже есть каталог JPG или PNG, то программа просто переместит туда файлы с данным расширением.

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

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

Создать BAT файл очень просто. Достаточно открыть блокнот и сохранить пустой лист с расширением .bat , выбрав опцию Сохранить как. и написав в поле Имя файла что-нибудь оканчивающееся на .bat , например test.bat .
Тип файла указываете как на скриншоте ниже — Все файлы . Сохраняете и получаете BAT файл.

Редактировать BAT файл можно в блокноте или любом другом текстовом редакторе, ориентированным на работу с кодом.

Теперь перейдем непосредственно к практической информации. В сети многие ищут ответ на вопрос Как быть с пробелами в BAT файлах? . В путях к папкам и исполняемым файлам наличие пробела вызывает ошибку. Самый распространенный ответ: Заключи путь в кавычки . И этот ответ не верен. Правда некоторые будут с пеной у рта утверждать, что он работает. Итак, появилось два почему — почему не верен и почему некоторые будут .

На Windows (как, впрочем, и на UNIX) установленные в системе программы соответствующим образом регистрируются системой. Поэтому некоторые из установленных программ могут запускаться одной простой командой из BAT файла или из апплета Выполнить панели Пуск . Одной из таких программ является Firefox:

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

Обозреватель откроется, чтобы не было написано после start firefox . Именно поэтому некоторые товарищи будут уверять что все прекрасно работает. Однако, если взять портативную программу, то ситуация окажется совсем иная. Рассмотрим в качестве примера ftp-клиент Filezilla. Поскольку система не знает о программе, вышеупомянутая строчка

работать не будет. Чтобы запустить неизвестную системе программу, надо указать к ней путь:

Длинныe имена в bat-файлах

Теперь поговорим о путях и пробелах. Первый способ избежать этой проблемы — использование короткого имени.

В примере два имени с пробелами. Заменим их короткими. Правила создания коротких имен следующие: в коротком имени используются первые шесть символов имени без учета пробелов, после имени указывают порядковый номер папки с помощью символа

. Так как папки Program Files и Sound Club у меня в единственном числе, получится следующее:

Если рядом будут присутствовать две папки, например Sound Club и Sound Clown , то следуя правилам, в примере выше надо будет указать SoundC

2 , так как в этом случае Sound Club окажется вторым именем (имена считаются в алфавитном порядке).

Но этот способ неудобен тем, что приходится указывать порядковые номера. Ситуация с Program files более менее нормальная. Мало у кого встретится две подобные папки на системном диске. Но если вы решили установить несколько продуктов Mozilla на свой компьютер. У вас получится несколько папок, например:

Короткими именами для них будут

А теперь представьте, что вы написали BAT файл с упоминанием этих программ. Если удалить Firefox, оставшиеся записи перестанут работать, а если удалить Thunderbird, перестанет работать запись для Sunbird. Короче, способ с короткими именами — не наш способ.

Пробелы и кавычки в bat-файлах

Кавычки на самом деле работают, но не с теми способами, которые обычно советуют. Советуют обычно следующее:

Так команда не сработает, поскольку если посмотреть справку по ней ( start /? ), то в справке вы увидите следующее:

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

Также сработает и вариант с заключением в кавычки всех имён с пробелами по отдельности:

Однако, в ряде случаев не работает ничего из вышеописанного. В таких случаях я могу посоветовать использовать команду cd . Переходим на системный раздел, затем с помощью cd в папку Program Files и запускаем программу ( start ):

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

В данном случае отключен запуск установленной в системе программы Defraggler.exe. Комментируют строки, указывая команду rem в начале строки. Все BAT файлы выполняются в окне консоли. Чтобы оно исчезало по окончании выполнения команд, не забывайте в конце писать команду на выход exit.

Запуск приложений из bat-файла

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

Выше было изложено несколько способов запуска приложений при помощи BAT файла. Самый первый — это короткая команда на запуск установленной в системе программы.

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

Также я отметил, что в BAT файле обязательно должна присутствовать команда на завершение:

Запуск программ в bat-файлах с параметрами (ключами)

Программу можно не просто запускать, а давать ей дополнительные команды при запуске. Например, скомандовать запускаться свернутой:

Скомандовать в данном случае — значит указать ключ. Ключ указывается через слэш после основной команды ( команда /ключ ). Основной командой в данном случае является start . Правда ключ min работает только в половине случаев, потому как относится именно к команде запуска start , а не к программам, которые эта команда запускает.

Вообще ключей существует очень много и наборы ключей разных программ могут существенно различаться. Есть, правда, несколько общих. Например, ключ справки ( /? или /help ). Чтобы проследить работу этого ключа, рассмотрим практический пример. Откройте консоль (Жмёте + R , вводите cmd , далее Enter ) и набираете в консоли следующее:

Консоль выведет на экран перечень допустимых ключей c комментариями для команды start .

Обратите внимание на ключ /wait . В некоторых случаях он бывает просто незаменим. Например, вы решили с помощью BAT файла распаковать архив с программой и эту самую программу запустить. В батнике получится две команды — на распаковку и на запуск. Поскольку команды при запуске BAT файла выполнятся почти одновременно, архив распаковаться не успеет и запускать будет нечего. Поэтому будет ошибка. В этом случае на помощь придет ключ /wait:

Таким образом система сначала выполнит первое действие, дождется его завершения и только после этого приступит ко второму. Если необходимо подождать конкретный отрезок времени, то проще воспользоваться консольной утилитой Sleep. В нужном месте BAT файла пишете следующую команду (число — количество секунд):

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

В ряде случаев бывает очень удобно. Антивирус Avast имеет опцию тихой установки в корпоративной версии. В бесплатной (домашней) версии тихой установки якобы нет. Однако, если вы в курсе как работает инсталятор InstallShield , вы поймете, что это утка , так как этот инсталятор сам по себе поддерживает ключ тихой установки /S . А значит все продукты, выполненные на его базе — тоже. И Avast не исключение. Просто создаете в папке с Avast’ом BAT файл с содержанием

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

Есть и другие возможности по управлению программами при помощи BAT файлов. Можно запустить программу, приказав ей открыть файл при запуске. Я пользуюсь этим способом при разработке сайтов. Очень удобно, когда весь твой инструментарий открывает нужные документы и папки нажатием всего одной кнопки:

Отмечу, что все вышеописанные приемы можно применять в различных комбинациях и сочетаниях.

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

В качестве эпилога предложу для ознакомления конвертер BAT файлов в приложения формата .exe — Bat_To_Exe_Converter. BAT файл — это не всегда эстетично, а с помощью конвертера можно запаковать батник в exe’шник, оформив его любой иконкой на ваш выбор.

Наткнулся ещё на один конвертер BAT в EXE, можете рассмотреть в качестве альтернативы предыдущей программе: Advanced Bat To Exe Converter

Использование графического интерфейса в операционных системах сегодня представляется чем-то само собой разумеющимся и совершенно естественным, но так было не всегда. Первая операционная система MS DOS, разработанная компанией Microsoft, не имела GUI, а управление выполнялось посредством ввода текстовых команд. С тех пор минуло без малого 40 лет, однако скриптовый язык командной строки по-прежнему пользуется популярностью, причём не только в среде разработчиков.

Командная строка не столь удобна, зато с её помощью можно выполнять недоступны из GUI операции. С другой стороны, запускать каждый раз консоль, вводить в неё одну за другой команды – всё это сильно замедляет работу. Впрочем, можно существенно упростить задачу, создав бат-файл или попросту батник – текстовый файл с расширением BAT, содержащий список инструкций, обрабатываемых командным интерпретатором CMD. Используются такие файлы для автоматизации разных задач, например, для удаления временных файлов по расписанию или запуска программ.

Как создать файл с расширением BAT

Итак, как создать bat-файл в Windows 7/10? Очень просто. Для этого понадобится любой текстовый редактор и знание основ командной строки. Можно использовать Блокнот, а ещё лучше Notepad++, так как последний имеет подсветку синтаксиса. Создайте в редакторе новый файл, в меню «Файл» выберите «Сохранить как», дайте будущему скрипту имя, а в выпадающем списке «Тип файла» выберите «Batch file (*bat; *cmd; *nt)».

Если для создания bat-файла захотите использовать Блокнот, расширение нужно присвоить вручную, а в списке «Тип файла» выбрать «Все файлы».

Как видите, создать файл с расширением bat не составляет сложности, есть тут, однако, свои тонкости. В командных файлах нельзя использовать перенос строк, кодировка bat-файла должна быть выставлена UTF-8, если в теле скрипта используется кириллица, кодировку нужно изменить, вставив в положенном месте команду chcp 1251.

Вместо расширения BAT можно использовать CMD, результат выполнения скрипта будет точно таким же.

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

Как сделать bat-файл вы знаете, теперь настала пора самого интересного, а именно синтаксиса языка интерпретатора CMD. Понятно, пустой батник работать не будет, он даже не запустится при двойном по нему клике. Чтобы скрипт сработал, в нём должна быть прописана хотя бы одна команда. Для наглядного примера посмотрим, как написать bat-файл для запуска программ. Допустим, приступая к работе, вы каждый раз запускаете три программы – Chrome, Firefox и VLC. Упростим задачу, создав скрипт, который будет сам запускать эти программы с интервалом в пять секунд.

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

Команда start запускает исполняемый файл нужной программы, а команда timeout /t задаёт интервал между запусками. Обратите внимание на расположение кавычек – в них берутся пути, в которых имеются пробелы. Также если в пути есть кириллические символы, в начало скрипта следует вставить изменяющую кодировку команду chcp 1251, в противном случае интерпретатор не сможет правильно прочитать путь.

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

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

Рассмотрим ещё один пример команд для bat файла. Напишем скрипт, который будет в одном случае выключать компьютер, а в другом – перезагружать его. Для этих целей мы будем использовать команду shutdown с параметрами /s, /r и /t. При желании можно добавить в батник запрос на выполнение действия, вот так:

Поясняем. Первая команда скрывает текст самих команд, вторая – устанавливает кириллическую кодировку, третья – выводит сообщение для пользователя, четвертая – устанавливает паузу, пятая – выключает, а с ключом /r вместо /s перезагружает компьютер без традиционной задержки в одну минуту. Если не желаете церемониться с запросами и паузами, можете оставить только пятую команду.

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

Что ещё можно делать с помощью скриптов? Много чего, например, удалять, копировать или перемещать файлы. Допустим, у вас есть некая папка data в корне диска D, содержимое которой нужно очистить одним махом. Открываем батник и вставляем в него такую команду:

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

А вот ещё один полезный пример. Напишем скрипт, который будет создавать резервную копию содержимого одной папки и сохранять данные в другую. За копирование отвечает команда robocopy:

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

Запуск bat-файлов от имени администратора и по расписанию, скрытый запуск bat

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

Кроме того, можно сделать так, что конкретный батник будет запускаться с повышенными привилегиями всегда. Для этого необходимо создать на такой скрипт обычный ярлык, открыть его свойства, нажать кнопку «Дополнительно» и отметить в открывшемся окошке галочкой пункт «Запуск от имени администратора». Этот способ хорош ещё тем, что позволяет выбрать для ярлыка любой значок, тогда как файл с расширением BAT или CMD всегда будет иметь невзрачный вид.

Скрипты, как и все приложения, можно запускать по расписанию. Команда timeout /t здесь не совсем уместна, для отложенного запуска лучше всего использовать встроенный «Планировщик задач» Windows. Здесь всё просто. Открываем командой taskschd.msc Планировщик, определяемся с триггером, действие выбираем «Запустить программу» и указываем путь к bat-файлу. Вот и всё, скрипт будет запущен в положенное время.

И напоследок ещё один интересный момент. Когда вы запускаете bat-файл, на экране появляется, пусть даже на какую-то долю секунды, окно командной строки. А нельзя ли сделать так, чтобы скрипт выполнялся в скрытом режиме? Можно, причём несколькими способами. Самый простой заключается в следующем. Создаём на bat-файл ярлык, открываем его свойства и в меню «Окно» выбираем «Свёрнутое в значок». После этого единственным видимым признаком запуска скрипта будет появление значка CMD на панели задач, окон же при этом открываться не будет.

Если вы желаете полностью скрыть выполнение скрипта, можете воспользоваться «костылем» – скриптом VВS, который будет запускать ваш батник в скрытом режиме. Текст скрипта приведен ниже, сохраните его в файл hidden.vbs, предварительно заменив путь во второй строчке кода D:/sсript.bat путём к вашему батнику.

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

А на этом пока всё. Информацию касательно создания скриптов BAT без труда можно найти в интернете. Неплохо также ознакомиться с учебником Уильяма Станека «Командная строка Microsoft Windows». Несмотря на то, что с момента издания книги прошло более десяти лет, содержащаяся в ней информация до сих пор актуальна.

Как запускать файлы .BAT незаметно, без отображения окна командной строки »Winhelponline

Пакетные файлы (.BAT) и файлы командных сценариев Windows NT (.CMD) запускаются в окне консоли при двойном щелчке. Это означает, что окно командной строки будет отображаться до завершения выполнения файла .BAT или .CMD.

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

Встроенный планировщик заданий Windows может запускать программы в скрытом режиме. Если вы не хотите использовать маршрут планировщика заданий, ознакомьтесь с вариантами, описанными в этой статье.

Запуск файлов .BAT или .CMD в свернутом режиме

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

  1. Создайте ярлык для файла .BAT или .CMD. Для этого щелкните файл правой кнопкой мыши, выберите Отправить на , Desktop (создать ярлык)
  2. Щелкните правой кнопкой мыши ярлык и выберите Properties
  3. В раскрывающемся списке Run: выберите Minimized
  4. Нажмите OK
  5. Дважды щелкните ярлык, чтобы запустить командный файл в свернутом состоянии окна.

Запуск файлов .BAT или .CMD, скрытых (невидимый режим) Использование сценария

Windows Script Host Метод Run позволяет запускать программу или сценарий в невидимом режиме. Вот пример кода сценария Windows, который невидимо запускает командный файл с именем syncfiles.bat .

Ссылка: метод запуска. Установка для параметра intWindowStyle значения 0 скрывает окно.

Допустим, у нас есть файл с именем syncfiles.bat в каталоге C: \ Batch Files .Давайте запустим его в скрытом режиме с помощью сценариев Windows.

  1. Скопируйте следующие строки в Блокнот.
     Установить WshShell = CreateObject ("WScript.Shell")
    WshShell.Run chr (34) & "C: \ Batch Files \ syncfiles.bat" & Chr (34), 0
    Установите WshShell = Nothing 

    Примечание: Замените имя / путь пакетного файла соответствующим образом в сценарии в соответствии с вашими требованиями.

  2. Сохраните файл с расширением .VBS, например launch_bat.vbs
  3. Отредактируйте файл.Имя файла BAT и путь соответственно и сохраните файл.
  4. Дважды щелкните, чтобы запустить файл launch_bat.vbs, который, в свою очередь, невидимо запустит пакетный файл syncfiles.bat .

СВЯЗАННЫЙ: Как автоматически повысить пакетный файл, чтобы запустить его от имени администратора? -и- VBScripts и повышение прав UAC (Запуск от имени администратора)

Запуск файлов .BAT или .CMD, скрытых (невидимый режим) Использование NirCmd

NirCmd — это многоцелевая утилита автоматизации командной строки от стороннего поставщика Nirsoft.В прошлом мы много раз освещали NirCmd на нашем сайте.

Мы можем использовать NirCmd для запуска программы, сценария или пакетного файла в скрытом режиме.

Загрузите NirCmd и извлеките файл в каталог Windows.

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

 nircmd exec hide [путь к пакетному файлу] 

Пример:

 nircmd exec hide "c: \ batch files \ syncfiles.bat "

Если вам нужно запустить командный файл с повышенными привилегиями (от имени администратора), используйте вместо этого следующую команду:

 nircmd elevatecmd exec hide c: \ batch files \ syncfiles.bat 

(Справочник команд NirCmd — exec)

Вот и все! Если вы знаете какой-либо другой способ запустить пакетный файл или файл CMD в скрытом режиме, сообщите нам об этом.


Одна небольшая просьба: Если вам понравился этот пост, поделитесь им?

Одна ваша «крошечная» публикация серьезно помогла бы росту этого блога. Несколько отличных предложений:
  • Прикрепите!
  • Поделитесь этим в своем любимом блоге + Facebook, Reddit
  • Напишите в Твиттере!
Так что большое спасибо за поддержку, мой читатель.Это займет не более 10 секунд вашего времени. Кнопки «Поделиться» находятся прямо внизу. 🙂

BAT — Формат пакетного файла

VER Эта пакетная команда показывает версию MS-DOS, которую вы используете.
ASSOC Это пакетная команда, которая связывает расширение с типом файла (FTYPE), отображает существующие ассоциации или удаляет ассоциацию.
CD Эта пакетная команда помогает вносить изменения в другой каталог или отображает текущий каталог.
CLS Эта пакетная команда очищает экран.
КОПИРОВАТЬ Эта пакетная команда используется для копирования файлов из одного места в другое.
DEL Эта пакетная команда удаляет файлы, а не каталоги.
DIR Эта пакетная команда выводит список содержимого каталога.
ДАТА Эта пакетная команда помогает найти системную дату.
ECHO Эта пакетная команда отображает сообщения или включает или выключает эхо команды.
EXIT Эта пакетная команда закрывает консоль DOS.
MD Эта пакетная команда создает новый каталог в текущем местоположении.
MOVE Эта пакетная команда перемещает файлы или каталоги между каталогами.
ПУТЬ Эта пакетная команда отображает или устанавливает переменную пути.
ПАУЗА Эта пакетная команда запрашивает пользователя и ожидает ввода строки ввода.
PROMPT Эта пакетная команда может использоваться для изменения или сброса приглашения cmd.exe.
RD Эта пакетная команда удаляет каталоги, но каталоги должны быть пустыми, прежде чем их можно будет удалить.
REN Переименовывает файлы и каталоги
REM Эта пакетная команда используется для примечаний в пакетных файлах, предотвращая выполнение содержимого примечания.
START Эта пакетная команда запускает программу в новом окне или открывает документ.
ВРЕМЯ Эта пакетная команда устанавливает или отображает время.
ТИП Эта пакетная команда печатает содержимое файла или файлов на выходе.
VOL Эта пакетная команда отображает метки томов.
ATTRIB Отображает или устанавливает атрибуты файлов в текущем каталоге
CHKDSK Эта пакетная команда проверяет диск на наличие проблем.
ВЫБОР Эта пакетная команда предоставляет пользователю список параметров.
CMD Эта пакетная команда вызывает другой экземпляр командной строки.
COMP Эта пакетная команда сравнивает 2 файла на основе размера файла.
CONVERT Эта пакетная команда преобразует том из файловой системы FAT16 или FAT32 в файловую систему NTFS.
DRIVERQUERY Эта пакетная команда показывает все установленные драйверы устройств и их свойства.
EXPAND Эта пакетная команда извлекает файлы из сжатых CAB-файлов.
НАЙТИ Эта пакетная команда ищет строку в файлах или на входе, выводя совпадающие строки.
FORMAT Эта пакетная команда форматирует диск для использования файловой системы, поддерживаемой Windows, такой как FAT, FAT32 или NTFS, тем самым перезаписывая предыдущее содержимое диска.
HELP Эта пакетная команда показывает список команд Windows.
IPCONFIG Эта пакетная команда отображает конфигурацию IP Windows. Показывает конфигурацию по соединению и имени этого соединения.
LABEL Эта пакетная команда добавляет, устанавливает или удаляет метку диска.
ПОДРОБНЕЕ Эта пакетная команда отображает содержимое файла или файлов по одному экрану за раз.
NET Предоставляет различные сетевые службы в зависимости от используемой команды.
PING Эта пакетная команда отправляет эхо-пакеты ICMP / IP по сети на указанный адрес.
SHUTDOWN Эта пакетная команда завершает работу компьютера или завершает работу текущего пользователя.
СОРТИРОВКА Эта пакетная команда принимает входные данные из исходного файла и сортирует его содержимое в алфавитном порядке, от А до Я или от Я до А. Вывод выводится на консоль.
SUBST Эта пакетная команда назначает букву диска локальной папке, отображает текущие назначения или удаляет назначение.
SYSTEMINFO Эта пакетная команда показывает конфигурацию компьютера и его операционной системы.
TASKKILL Эта пакетная команда завершает одну или несколько задач.
TASKLIST Эта пакетная команда выводит список задач, включая имя задачи и идентификатор процесса (PID).
XCOPY Эта пакетная команда копирует файлы и каталоги более сложным способом.
ДЕРЕВО Эта пакетная команда отображает дерево всех подкаталогов текущего каталога с любым уровнем рекурсии или глубины.
FC Эта пакетная команда выводит список фактических различий между двумя файлами.
DISKPART Эта пакетная команда показывает и настраивает свойства разделов диска.
НАЗВАНИЕ Эта пакетная команда устанавливает заголовок, отображаемый в окне консоли.
НАБОР Отображает список переменных среды в текущей системе.

Что такое командные файлы в Windows? Веселые и классные трюки с пакетными файлами

Пакетные файлы в Windows — это файлы сценариев.Пакетный файл — это неформатированный текстовый файл. Этот файл состоит из серии команд и имеет расширение имени файла .bat или .cmd . Термин «пакетная обработка» заимствован из пакетной обработки, что означает неинтерактивное выполнение. С помощью пакетных файлов в Windows пользователи могут упростить повторяющиеся или рутинные задачи. Когда пользователи вводят имя файла в командной строке, cmd.exe запускает команды последовательно, как они отображаются в файле. Некоторые типичные команды, используемые в пакетных файлах в Windows: Call, Echo, Endlocal, For, Goto, If, Pause, Rem, Setlocal и Shift.

Как создавать .bat или пакетные файлы в Windows

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

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

Некоторые основные команды в пакетных файлах:

  • ECHO: для отображения текста на экране
  • @ECHO OFF: для скрытия текста
  • START: для запуска файла с приложением по умолчанию
  • REM: для введите строку комментария в программе
  • MKDIR: для создания каталогов
  • RMDIR: для удаления каталогов
  • DEL: для удаления файлов
  • COPY: для копирования файла или файлов
  • XCOPY: для копирования файлов с дополнительными параметрами
  • FOR / IN / DO: для указания файлов
  • TITLE: для редактирования заголовка окна

Классные и забавные трюки с командным файлом

1.Матрица

Помните фильм «Матрица»? Вы действительно можете сделать свой фон похожим на этот зеленый матричный экран с помощью этого командного файла. Это определенно для классного вида и ничего больше. Чтобы создать пакетные файлы такого типа в Windows, выполните следующие действия:

Шаг 1: Откройте текстовый документ и переименуйте его как «matrix.bat». Как только расширение текстового файла изменится на .bat, его значок изменится на шестеренку.

Шаг 2: Теперь вы можете отредактировать файл, чтобы написать свою программу.Для этого щелкните файл правой кнопкой мыши и выберите «Изменить». Он должен открыться в блокноте. Вот командные строки, которые вам нужно вставить в блокнот.

@echo off

цвет 2

: начало

эхо% случайный%% случайный% случайный%% случайный%% случайный%% случайный%% случайный%% случайный% случайный% % random%% random%% random%% random%% random%

goto start

Нажмите «Сохранить» и дважды щелкните по нему.Это даст эффект Матрицы в окне. Разверните окна CMD и нажмите F11, чтобы получить лучший полноэкранный эффект.

2. Создатель паролей

Вы даже можете создать файл, защищенный паролем, который создается и открывается с помощью пакетного файла (.bat). Это один из слегка полезных пакетных файлов в Windows, который должен отлично работать для сокрытия вещей от людей, мало или совсем не знакомых с компьютером или пакетным файлом.

Для создания командных файлов Password Creator в Windows выполните следующие действия:

Шаг 1: Откройте Блокнот

Шаг 2: Скопируйте и вставьте следующий код

cls

@ECHO OFF

title Система оружия Cyber ​​Attack

if EXIST "Панель управления.{21EC2020-3AEA-1069-A2DD-08002B30309D} «goto UNLOCK

if NOT EXIST Hidden goto MDHidden

: CONFIRM

echo Вы уверены, что заблокировали эту папку? (Д / Н)

set / p "cho =>"

if% cho% == Y goto LOCK

if% cho% == y goto LOCK

if% cho% == n goto END

if% cho% == N goto END

echo Неверный выбор.

goto CONFIRM

: LOCK

ren Скрытая «Панель управления. {21EC2020-3AEA-1069-A2DD-08002B30309D}»

attrib + h + s «Панель управления20-. {21EC20-. 3AEA-1069-A2DD-08002B30309D} "

echo Папка заблокирована

goto End

: UNLOCK

echo Введите пароль для разблокировки защищенной папки

пароль" > "

if NOT% pass% == 1234 goto FAIL

goto UNLOCK2

: UNLOCK2

CLS

echo Введите пароль, чтобы разблокировать вашу защищенную папку

установить

/ p «pass =>»

если НЕ% pass% == 1234 goto FAIL

attrib -h -s "Панель управления.{21EC2020-3AEA-1069-A2DD-08002B30309D} «

ren» Панель управления. {21EC2020-3AEA-1069-A2DD-08002B30309D} «Скрытая

Папка эхо-сообщений успешно разблокирована

: Fail

@echo off

color 02

echo Warning-Virus Инициировано полное повреждение жесткого диска неизбежно

timeout / t 5 / nobreak> nul

set count = 0

: уловки

if% count% == 200 goto shutdown

echo% random %% random %% random %% random %% random %% random %% random %% random%

set / a count =% count% + 1

goto tricks

: shutdown

cls

: shutdown

shutdown -s -t 45 / c "У вас есть пытался получить доступ к файлу не твоему урс
До свидания. "

echo Введите пароль Start Abort Sequence

set / p" pass => "

if NOT% pass% == 1234 goto shutdown

echo Abort Инициировано

goto Abort

: Abort

C: \ Windows \ System32 \ shutdown.exe -a

Abort Successful

timeout / t 3 / nobreak> nul

CLS

goto unlock

goto end

: MDHidden

md Hidden

echo Hidden успешно создан

Шаг 3: Установите пароль

. по умолчанию установлено 1234.Их также можно изменить. Чтобы изменить пароль, найдите в коде, где написано:

if NOT% pass% == 1234 goto

И замените 1234 своим паролем по выбору. Сохраните файл с расширением .bat.

Когда вы открываете файл в первый раз, он будет мигать, и появится другой файл с именем «Скрытый». Чтобы скрыть этот файл, просто щелкните исходный файл еще раз, и он спросит вас, хотите ли вы скрыть файл. Если вы набираете Y, он скрывает это, но если вы набираете N, ничего не происходит.После того, как вы скроете его и позже захотите получить к нему доступ, вам нужно снова щелкнуть исходный файл, и вам будет предложено ввести пароль.

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

3. Тестер цвета

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

Откройте блокнот и скопируйте следующий код.

@echo off
: test
help color
echo ------------------------------------ ----------------------
эхо.
echo Введите цветовой код для проверки цветов.
echo Для выхода просто нажмите X.
set / p color =
color% color%
goto test

Сохраните файлы с расширением .bat.

Если вы хотите узнать больше о таких трюках с пакетными файлами в Windows, вы можете посетить Instructable.com.

Файл не найден — Chebucto Community Net



Сообщество Чебукто Нетто


Файл не найден
Главная >> Файл не найден

Удовлетворение потребностей вашего сообщества в сети с по 1994 год .


Ошибка 404:

Сожалеем, но запрошенный вами файл не найден на этом сервере.

Пожалуйста, проверьте запрошенный вами адрес:

  • проверить орфографию
  • использовали ли вы ‘\’ вместо ‘/’ в адресе?
  • если вы пробовали ‘filename.html’ попробуйте ‘file.htm’ или наоборот
  • имен файлов в этой системе чувствительны к CaSe …. ‘filename.html’ НЕ ЯВЛЯЕТСЯ то же, что и Filename.html … или FileName.html
  • попробуйте удалить все после последнего ‘/’, и если это не поможет, продолжайте удаление последняя часть адреса (все после последнего символа «/» все еще используется) до…
  • … вы попадаете на сайт www.chebucto.ns.ca, а затем выполняете поиск документа …

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

Удачи!


Пожалуйста, посетите
остальную часть нашего веб-сайта, есть много чего видеть!

Присоединяйтесь!

Получите свою учетную запись Chebucto

Услуги Чебукто

Смотрите здесь за доступные услуги и цены!
Счета для частных лиц, семей, некоммерческих групп и небольших бизнеса!

О нас Помогите продвигать нас!
Кто мы, чем мы занимаемся
и чем вы можете помочь

Chebucto Plus
Наш премиум-доступ в Интернет


Наше сообщество-Run
Некоммерческий высокоскоростной доступ

Пакетные файлы DOS

Введение

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

Преимущества использования пакетных файлов:

  • Экономия времени и усилий
  • Упрощение операций для неопытных пользователей
  • Упрощение сложных команд для опытных пользователей
  • Устранение ошибки оператора

Обычно командные файлы используются:

  • Копирование или удаление файлов
  • Создание подходящей среды для приложения
  • Установка переменных среды

Обычной практикой является размещение всех командных файлов в одном каталоге и затем ПУТЬ в этот каталог.Эта централизация командных файлов упрощает внесение изменений, если они становятся необходимыми.

Пакетные файлы — это простые текстовые файлы, созданные с использованием простого текста. редактор, такой как Блокнот или текстовый редактор DOS EDIT.

Каждая команда DOS и / или другая внешняя команда размещается на собственной линии вместе со всеми необходимыми параметрами и переключателями.

Пакетные файлы выполняются интерпретатором команд Command.com. Command.com открывает командный файл, читает команду в первой строке, закрывает командный файл, выполняет первую команду, а затем повторяет эти три шага для каждой строки командного файла.

Этот довольно странный метод исполнения можно продемонстрировать с помощью следующий командный файл:

    @ эхо выкл
    cls
    эхо, это командный файл test.bat
    Пауза
    cls
    эхо эй! посмотри на это! >> test.bat
    cls
    эхо это последняя строчка test.bat ... или нет?
    Пауза
 

Команды, относящиеся к пакетным файлам

Эхо

Echo — это функция командных файлов, которая повторяет (выводит эхо) каждую строку командного файла на экран по мере его выполнения.

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

Чтобы «очистить» операцию с пакетным файлом, выключите ECHO, поместив Команда ECHO OFF в первой строке командного файла. Поскольку команда не вступает в силу до тех пор, пока он не будет выполнен, DOS отобразит этот первый линия. Чтобы подавить эхо этой первой строки, поместите перед ней символ «@». Команду «@» также можно использовать для выборочного подавления эха по мере необходимости.

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

Рем

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

Позвонить

Когда программа (.com или .exe) запускается из пакетного файла, управление возвращается к пакетному файлу, когда программа завершается. Но когда команда в пакетном файле является именем другого пакетного файла, управление не возвращается к первому пакету. Скорее, когда второй командный файл завершится, он вернется в командную строку.

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

    @ эхо выкл
    rem Testone.летучая мышь
    cls
    эхо Это testone.bat
    rem Выполнить второй командный файл
    testtwo.bat
    echo Эта строка Testone.bat НЕ будет выполняться
 

Чтобы вернуть управление первому пакетному файлу, вставьте команду CALL перед командой для выполнения Testtwo.bat. После завершения Testtwo.bat управление возвращается в Testone.bat, и выполнение продолжается с того места, где оно было остановлено. Этот время, когда БУДЕТ выполнена последняя строка.

    @ эхо выкл
    rem Testone.bat
    cls
    эхо Это тестон.летучая мышь
    rem Выполнить второй командный файл
    ЗВОНИТЕ testtwo.bat
    echo Эта строка Testone.bat БУДЕТ выполнена
 

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

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

Отображение текстового файла

Когда необходимо отобразить на экране большие объемы текста из командного файла, более удобной альтернативой ECHOing текста на экране является размещение текста в отдельном файле, а затем отображение содержимого этого файла:

    ТИП файла.текст
 
Или, когда на одном экране помещается больше текста:
    БОЛЕЕ

 

Во втором примере используется перенаправление, см. Ниже.

Удаление временных файлов

Поместите следующие строки в AUTOEXEC.BAT, чтобы очистить временные файлы во время загрузки. (Обратите внимание на использование перенаправления, подробно описанное ниже).

    дель с: \ окна \ недавние \ *. *

  

Управление принтером

Используйте однострочный пакетный файл, подобный этому, для подачи формы на лазерный принтер HP:

    @ эхо выкл
    rem feed.летучая мышь
    rem выдает подачу формы на лазерный принтер HP на LPT1
    rem представляет ascii char # 27, управляющий символ для принтеров
    эхо. & l0H> lpt1
 

Найдите файл на диске

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

Переключатель / v для CHKDSK установлен на "Verbose", который перечислить все файлы на указанном диске. Этот вывод передается по конвейеру (|) через НАЙТИ фильтр.

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

    rem FF.bat, findfile.bat
    rem Использование: FF D: filename.ext
    CHKDSK% 1 / v | НАЙТИ "% 2"
 

Расширенные методы работы с пакетными файлами

Перенаправление

Все команды DOS имеют какой-то вывод. Например, вывод DIR - это список каталогов, а вывод команды COPY - «Скопирован 1 файл (ы)».

Назначением по умолчанию для всех командных выходов является устройство с именем CON - консоль или монитор.Однако вывод команды может быть перенаправлен на другой Устройства DOS, такие как PRN, NUL или дисковый файл. Признаки перенаправления > и перенаправление работает, потому что DOS рассматривает все устройства как дескрипторы файлов. Изучите примеры в таблице ниже:

Перенаправленная команда Результат
DIR> PRN Распечатка списка каталогов на принтере по умолчанию
DIR> реж.текст Список каталогов, записанный в файл DIR.TXT

(если файл DIR.TXT уже существует, он перезаписывается)

DIR >> dir.txt Список каталогов, записанный в файл DIR.TXT

(если файл DIR.TXT уже существует, список каталогов добавляется в конец файла)

CHKDSK >> sysinfo.txt Вывод CHKDSK записывается в файл SYS.INFO.TXT

Если файл уже существует, вывод добавляется в конец файла.

КОПИРОВАТЬ имя файла> NUL Результат COPY (1 файл (ы) скопирован) отправляется на устройство NUL.

Устройство NUL, также известное как «битовая корзина», представляет собой тест устройство, которое является виртуальным тупиком. Другими словами, на выходе никуда не отправляется.

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

Перенаправление также может использоваться для ответа на команды DOS. Например, если мы поместим команду на удаление всех файлов в некотором месте (DEL [path] \ *. *) в пакетном файле, команда удаления приостановит выполнение командного файла и спросит: «Вы уверены?».

Чтобы избежать этого, мы можем перенаправить содержимое файла, содержащего «Y» (да) и возврат каретки (Enter) в качестве входных данных для команды DEL:

Сначала в папке с пакетным файлом создайте текстовый файл с именем YES, содержащий букву «y», за которой следует возврат каретки.Затем в пакетном файле используйте строку вроде:

    DEL [путь] \ *. *

  

Заменяемые параметры

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

Создайте пакетный файл, например:

    REM GO.BAT
    CD \% 1
    % 2
 

Выполните командный файл следующим образом:

    GO dbase dbase
 

Пакетный файл переключится в папку \ dbase и выполнит dbase.исполняемый.

Выполните командный файл следующим образом:

    GO мой редактор
 

И командный файл переключится в папку \ myeditor и выполнит ed.exe.

IF и GOTO

Может использоваться комбинация операторов IF и GOTO. для создания логики ветвления в пакетном файле.

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

Изучите следующий пример:

    REM Если не было предоставленного параметра, перейдите к метке NONE
    ЕСЛИ% 1x == x НАЙТИ НЕТ
    REM В противном случае выполните несколько команд и затем перейдите к метке END.
    [Пакетные команды]
    НАЙТИ КОНЕЦ
    :НИКТО
    ECHO Укажите требуемый параметр!
    :КОНЕЦ
    REM Control возвращается в командную строку здесь
 

В этом примере проверка IF и GOTO используются для предотвратить случайное форматирование C:

    REM FORMAT.BAT (ПЕРЕИМЕНОВАТЬ ФОРМАТ.EXE XFORMATX.EXE)
    ЕСЛИ% 1 == C GOTO ERROR
    ЕСЛИ% 1 == c GOTO ERROR
    ЕСЛИ% 1 == C: GOTO ERROR
    ЕСЛИ% 1 == c: GOTO ERROR
    XFORMATX.COM% 1
    НАЙТИ КОНЕЦ
    :ОШИБКА
    ECHO Пожалуйста, не пытайтесь форматировать диск C :!
:КОНЕЦ
 

ПЕТЛЯ

Команда LOOP позволяет создавать командные файлы, которые повторяют:

    rem Пакетный файл для копирования группы файлов на несколько дискет.
    rem Ctrl-C завершает командный файл
    :ПЕТЛЯ
    ECHO Вставьте новую дискету в дисковод A: или нажмите Ctrl-C, когда закончите
    ПАУЗА
    КОПИЯ D: \ TEMP \ *.COM A:
    КОПИЯ D: \ TEMP \ *. EXE A:
    GOTO LOOP
 

Конкатенация

+
Команда Результат
КОПИРОВАТЬ ФАЙЛ1 + ФАЙЛ2 ФАЙЛ3 Объединяет файлы 1 и 2 в файле 3
КОПИРОВАТЬ ФАЙЛ1 + ФАЙЛ2 Добавляет файл 2 в конец файла 1 Дата и время обновления файла
КОПИРОВАТЬ ФАЙЛ + / b Как указано выше для файла .COM (/ b игнорирует Ctrl Z)

Что такое AUTOEXEC в DOS.BAT файл?

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

Файл AUTOEXEC.BAT содержит команды DOS. которые выполняются автоматически при загрузке ПК. Файл обычно находится в корневом каталоге жесткого диска или дискеты, с которой компьютер загружается. Файл AUTOEXEC.BAT используется для установить значения по умолчанию и запускать программы, которые должны выполняться при запуске (сравнимо с .Логин файл в Unix учетные записи). Ниже приведен список утверждений, которые обычно входят в AUTOEXEC.BAT файл, сопровождаемый объяснениями каждого цель заявления.

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

ECHO

Пример:

 @ECHO OFF 

Эта дополнительная команда подавляет отображение последующих команд. в то время как AUTOEXEC.Выполняется файл BAT . Вы можете также используйте ECHO для отображения строк текста.

ПУТЬ

Пример:

 ПУТЬ C: \; C: \ DOS; C: \ WINDOWS; C: \ TWSKPPP \ LWP \ BIN;
  C: \ TWSKPPP \ TWSK21F 

Примечание: В этом примере команда PATH должна фактически размещается в одной строке в AUTOEXEC.BAT файл, при этом строка оборачивается вокруг, а не прерывается возврат каретки.

Иногда вы увидите команду в виде SET PATH , или ПУТЬ = .Оба являются допустимыми формами команды.

Используйте команду PATH , чтобы указать DOS, какие каталоги следует проверить, когда исполняемый файл отсутствует в текущем каталоге. Когда вы вводите строку текста в командной строке DOS, которая не является распознанная команда или исполняемое имя файла в текущем каталог, DOS будет искать в каталогах в вашем ПУТЬ для имени файла, соответствующего введенному вами тексту. Эта команда настоятельно рекомендуется, если вы не используете меню оболочка.Многие пакеты (например, WordPerfect) автоматически добавить или изменить строку PATH во время установки процесс. Путь не может превышать 127 символов и может быть больше ограничено пространством вашей среды DOS.

Иногда вы можете увидеть более одной команды PATH в AUTOEXEC.BAT . Второй и последующие ПУТЬ команды могут иметь вид:

 ПУТЬ =% ПУТЬ%; C: \ BLASTER 

% PATH% представляет существующий путь.Этот пример добавил бы C: \ BLASTER в путь.

Если вы введете ПУТЬ в командной строке C: \ , будет отображен текущий путь. Это может быть хорошим способом устранения неполадок инструмент, поскольку он может сказать вам, если команда PATH в AUTOEXEC.BAT стал слишком длинным и поэтому усечен.

НАБОР

Пример:

 УСТАНОВИТЬ TRM = C: \ WINDOWS \ TEMP
  УСТАНОВИТЬ TEMP = C: \ WINDOWS \ TEMP
  УСТАНОВИТЬ БЛАСТЕР = A220 I5 D1 T1 

НАБОР используется для установки системных переменных, которые используются для передавать информацию программам.В этих примерах используется команда чтобы сообщить программам, в каких каталогах хранить определенные файлы или где файлы конфигурации сохраняются. Некоторые программы (например, Windows) будут настройте этот оператор в процессе установки, и многие программам требуется SET записи оператора в AUTOEXEC.BAT файл для правильной работы. В некоторых случаях обратная косая черта после конца имени каталога обязательна, и пробелы в конце строки могут вызвать проблемы. Если вы войдете SET при приглашении C: \ , вся система будут отображаться переменные.

PROMPT

Пример:

 ЗАПРОСИТЬ $ P $ G 

Используйте команду PROMPT , чтобы изменить приглашение DOS по умолчанию. В этом конкретном примере в командной строке DOS отображается текущий путь. и погонять, и это очень полезно.

CLS

Пример:

 CLS 

CLS очищает экран.

Примечание: Вы должны создать или отредактировать текстовый файл DOS с помощью только редактора DOS, такого как EDIT, EDLIN или TED. Если вы используете слово программы обработки, убедитесь, что вы сохранили файл в текстовый формат (ASCII), а не какой-либо специальный формат файла который обычно использует текстовый процессор.

Команды MS-DOS :: Пакетные файлы

Обзор:

Примечание: Расширенное программирование командных файлов выходит за рамки этого документа.

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

Пакетные файлы — это текстовые файлы, имена которых не заканчиваются. с .txt имя файла заканчивается .bat. Поскольку это текстовые файлы, вы можете создавать их, используя любой текстовый редактор, например редактор Windows Notepad. Чтобы запустить Блокнот, выберите Блокнот. из меню «Пуск» Windows или введите в командной строке «Блокнот».

Чтобы запустить пакетный файл из командной строки, введите его имя файла, e.грамм.: привет. летучая мышь. Чтобы запустить командный файл из Windows, дважды щелкните значок его файла.

Когда вы запускаете командный файл, MS-DOS отображает каждую команду только перед запуском. Таким образом, если что-то не работает, вы можете увидеть, какие команды были запущены. Если вы не хотите, чтобы команды отображались эхом, в начале вашего пакета файл добавьте строку: @echo off

Чтобы остановить пакетный файл до его завершения, нажмите Ctrl-C. При появлении запроса «Завершить пакетное задание (Д / Н)?» спрашивать, хочешь ли ты остановиться командный файл, нажмите клавишу y, а затем Enter ключ.

Помимо стандартных команд MS-DOS, некоторые команды, которые особенно полезны в пакетных файлах:

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

  • , если
    Условно запустить команду на основе по заданному условию теста, например, существует ли указанный файл заранее или нет. Чтобы получить справку, введите: help if

  • goto
    Обычно запускается командный файл «сверху вниз» по одной строке за раз, начиная с первой строки и продолжая до последней строки.Вы можете изменить нормальный поток выполнения, чтобы выполнение продолжалось в указанной именованной строке вместо следующей строки. Goto обычно используется как часть команды if, например: if not exist mystuff.txt ошибка перехода. Для получения справки введите: help перейти

  • звонок
    Звонит один батник из другого. Смотрите: звоните.

  • пауза
    Приостанавливает выполнение и отображает сообщение «Нажмите любую клавишу, чтобы продолжить.. . «. Нажатие любой клавиши (например,g .: пробел, Enter, Esc и т. д.) будет вызвать возобновление выполнения программы. Однако, если нажать Ctrl-C, исполнение будет прекращено. Обычно используется после эхо, которое отображает некоторое предупреждение (например: эхо Нажмите Enter, чтобы скопировать файл). См .: справка пауза

  • echo
    Отображает указанное сообщение, например: echo Нажмите Enter, чтобы скопировать файл. Видеть: помощь эхо

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *