Выберите расширения которые являются валидным для хранения batch файлов системы windows

Обновлено: 05.07.2024

Хэллоу пикабушник. Я хочу, чтобы ты понял весь программный язык cmd(bat) на понятном языке. Ну, давай приступим?

Для начала Разберем, что такое cmd(bat) и с чем его едят?

ИНТЕРПРЕТАТОР - Тот, кто интерпретирует что-нибудь. ИНТЕРПРИРОВАТЬ Истолковать -вывать раскрыть -ывать смысл чего-нибудь, объясняя.

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

Как открыть командную сроку(cmd.exe)

И так, давайте создадим на рабочем столе текстовый документ, а далее впишем в него

В данном случае напишем @Echo off

После напишем такую строку A: Что это такое? Это так сказать, строка, позволяющая делать оборот(обратно выполнять функции,команды после этой строки)

Далее после A: напишем, echo HELLO MY FRIEND (тут вышла ошибочка, пишем :A, а не A: )

После давайте напишем команду, которая будет открывать окно, в данном случае это команда "Start"

Команда START - запуск приложения в новом окне

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

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

START ["заголовок"] [/D путь] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | REALTIME| /ABOVENORMAL | /BELOWNORMAL] [/WAIT] [/B] [команда/программа] [параметры]

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

"заголовок" - заголовок окна. Обязательно в двойных кавычках.

путь - рабочий каталог.

B - запуск приложения без создания нового окна с отключением обработки сочетания клавиш CTRL+C. Если приложение не обрабатывает сочетание клавиш CTRL+C самостоятельно, единственным способом его прерывания является использование сочетания клавиш CTRL+Break.

I - Новой средой станет исходная среда, переданная cmd.exe, а не текущая среда.

MIN - Запуск команды/программы в свернутом окне.

MAX - Запуск команды/программы в развернутом окне.

SEPARATE - Запуск 16-разрядной программы Windows в отдельной области памяти.

SHARED - Запуск 16-разрядной программы Windows в общей области памяти.

LOW - Запуск приложения с приоритетом IDLE (самый низкий приоритет).

NORMAL - Запуск приложения с приоритетом NORMAL.

HIGH - Запуск приложения с приоритетом HIGH.

REALTIME - Запуск приложения с приоритетом REALTIME (самый высокий приоритет).

WAIT - Запуск приложения с ожиданием его завершения.

ABOVENORMAL - Запуск приложения с классом приоритета ABOVENORMAL (выше стандартного)

BELOWNORMAL - Запуск приложения с классом приоритета BELOWNORMAL (ниже стандартного)

команда/программа - Если это внутренняя команда cmd.exe или пакетный файл, обработчик команд (cmd.exe) запускается с ключом /K. Это означает, что окно не будет закрыто после завершения команды. Если это не внутренняя команда cmd.exe и не пакетный файл, значит, это программа, которая будет запущена в графическом или текстовом окне.

После напишем echo I KILLED YOUR WINDOWS (Мини шуточка пхпх) - команда которая будет выводить текст. И на последок пишем goto A (для работы круга)

Вот как все это должно выглядеть

Учение основ cmd(bat) (ДЛЯ НОВИЧКОВ) Туториал, Как создать батник, Как создать вирус, Вирус, Длиннопост

Нажимаем "Файл" "Сохранить как" Рабочий стол

Учение основ cmd(bat) (ДЛЯ НОВИЧКОВ) Туториал, Как создать батник, Как создать вирус, Вирус, Длиннопост

Тип файла выбираем "Все файлы" и к названии вашего файла(в моем случае пикабу) приписываем .bat

Учение основ cmd(bat) (ДЛЯ НОВИЧКОВ) Туториал, Как создать батник, Как создать вирус, Вирус, Длиннопост

Все, теперь открываем и проверяем!

Теперь можем видеть такую картину:

Учение основ cmd(bat) (ДЛЯ НОВИЧКОВ) Туториал, Как создать батник, Как создать вирус, Вирус, Длиннопост

в вк вы можете попросить меня скинуть вам немножко жоще батник xD

Как сделать распараллеливание с помощью cmd?

Вызов одной программы после неё вызов ещё сорока, которые должны работать параллельно. После того как те сорок отработают вызов тех, которые должны отработать последовательно.

А как можно открыть фай батником из папки в которой он находится?


ХедХантер и кладмены

На днях листал ХХ.
Штук 5 вакансий курьера. От найка и адидас до ксиаоми и секс-шопа . Вакансии в самом верху в топе, смотрело со мной около 150 человек. Оклад 15к в неделю и 350 за точку. Нормально так для курьера?
В итоге все эти вакансии - кладмена. Работодатель зовёт в телегу.
Мне просто интересно , ХХ настолько похуй, что у него там творится? Очевидно вакансия левая, ибо заработок нереальный для курьера. Где пожаловаться не нашёл, выливаю свой гнев сюда. Вообще подозреваю, что все все знают.

Мотивации пост

Мотивации пост Twitter, Мотивация, Скриншот

. а в пустыне она вообще бесценна.

Ответ на пост «Не прокатило»

у всех есть такие родственники.

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

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

после чего уже все тёти\дяди начали хором вещать что я должен в ответ отдать ему свою машину. На резонный вопрос "а схуяле я должен отдавать машину стоимостью на два ноля больше чем его отрыга" был получен ответ "он старый, хорошей машины уже не купит, а ты молодой и ещё на такую-же заработаешь. Да и ваще он твой дядя, семейные узы нужно чтить". Предложил им обменять их трёшку на мою дачу в 75км от города, почему-то отказались. Когда начал аппелировать к семейным узам - был послан нахуй. Послал всех в ответ, свалил. Бонусом получил пожизненный отпуск от всех обязательных семейных мероприятий, ведь мало того что отказался помогать родственнику, так ещё и после посыла нахуй не остался ночевать в летней кухне чтобы по утру за свои бабки чинить отрыгу и потом развозить всю эту пиздобратию по домам (как оказалось они на это расчитывали, ведь я хорошо зарабатываю, значит могу весь день быть бесплатным таксистом)

потому радуйтесь что проебали отношения с таким замечательнейшим родственником :)

Рамзан Кадыров замечен в сепаратизме?

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

Как это: часть страны решила отобрать территорию у другой части этой же страны?

Интересно, почему на него не заводят дело за призывы к силовому захвату или отчуждение территории?

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

Как вы считаете, можно ли расценивать действия Рамзана Кадырова как прямой отказ подчиняться действущему законодательству России и проявлением сепаратизма?

Прошу юридической помощи, напали чеченцы в метро

Здравствуйте, я очень сомневался писать пост или нет, но сил уже нет бороться в одиночку с нашей правоохранительной системой. 30 августа я ехал на работу к 14:00, на выходе из метро Юго-Восточная на меня напали 2 чеченца ( https://www.m24.ru/shows1/14/308198 сюжет на Москва 24, правда они вырезали специально тот кусок, когда я отмахивался, разрывая дистанцию, уже после нескольких минут избиения в голову и назвали это "дракой", хотя ни одного удара я не нанес), я подбежал к службе безопасности метрополитена, одна из сотрудниц сразу убежала, вторая стояла и смотрела как меня избивают, ничего не делая. В итоге мне сломали нос и нанесли множественные повреждения в области головы. Когда они меня били они орали, что они из Чечни и всех русских вы**ут и ничего им не сделают, явный состав 282 статьи УК РФ, однако в итоге им инкриминировали лишь 115. После их задержания, когда я ждал скорую, полицейская сказала, что у них был нож и они орали, что воевали против русских в чеченскую войну, а также что они находятся под действием наркотиков (в таганском отделении опер потом также сказал). После меня отвезли в ГКБ им. Пирогова, в приемное отделение к нейрохирургу, где я пробыл более 6 часов, как в последствии выяснилось, принял со скорой меня санитар, а заключение выдал медбрат. В итоге в заключении прописаны препараты, которые мне якобы ввели, но их не вводили + заключение противоречит в некоторых моментах самому себе. Госпитализировать меня отказались, хотя по словам врачей скорой должны были госпитализировать на 10-14 дней. На следующий день я пошел в травмпункт рядом с домом, чтобы снять всё-таки побои, но травматолог сказал, что поставил бы ушиб мягких тканей только в случае наличия разрыва кожи (хотя это уже должно быть рваной раной, в моём понимании).

На данном этапе мне не дали ознакомиться с материалами уголовного дела, нож по словам дознавательницы в деле не фигурирует, я просил ознакомить меня с записями с камер видеонаблюдения, мне было отказано, а также с дозоров полицейских, тоже было отказано. Дознавательница не присылает никаких повесток по следственным действиям, я посмотрел, её действия нарушают 164, 188 и 192 статьи УПК РФ, когда на очередной встрече я хотел написать заявление на отвод дознавателя. Я думаю, что дознавательница ангажирована к этим чеченцам и/или диаспоре. При первой встрече, назначенной на 10:00, она отказалась меня принять к оговоренному по телефону (повестки не было) времени, а когда из кабинета выходил другой сотрудник, я слышал, как она говорит кому-то из своих "мариную **анного терпилу".

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

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

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

Для удобства написания и, естественно, восприятия разобью статью по разделам. Но сначала:

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Некоторые манипуляции с пакетными файлами могут нанести вред системе (порой даже непоправимый), поэтому предупреждаю сразу, ни автор статьи, ни администрация сайта не несут абсолютно никакой ответственности за последствия, которые может повлечь за собой выполнение действий, представленных в этой статье. Все материалы представлены здесь исключительно с образовательной целью, и для ознакомления. Надеюсь на ваше понимание и прямоту ваших рук.

Часть первая. Основные моменты при создании bat-файлов

  • Выше уже упоминалось, что пакетный файлы - это обычные текстовые документы. Так и есть, но для того, чтобы они работали и выполняли свои функции, им нужно придать подобающий вид, т.е. поменять расширение. Вообще в Windows используется как расширение *.bat, так и *.cmd, по сути они отличаются весьма незначительно лишь некоторыми нюансами, поэтому, в целях избежания путаницы, будем говорить о bat-файлах. Т.е. чтобы создать исполняемый пакетный файл, мы открываем стандартный блокнот (либо другой, привычный вам текстовый редактор), вбиваем туда нужные нам команды и сохраняем файл с любым именем и расширением bat;
  • По сути, перечень команд, описанных в пакетном файле (батнике) может быть воспроизведён вручную в командной строке (пуск - все программы - стандартные - командная строка), упаковываем их (команды) мы исключительно для удобства, простоты и моментальности (если позволите) воспроизведения;
  • Если испытываете что-то серьёзное и не уверенны в своих действиях, лучше испытывайте детище к примеру на виртуальной машине (в крайнем случае - на компьютере соседа);
  • Список возможных к использованию команд очень велик, посмотреть его можно, набрав в командной строке help, здесь же будут расшифровываться команды по мере их появления в создаваемых батниках;
  • Все инструкции, приведённые в статье, тестировались на ОС Windows XP и Windows 7.

Часть вторая. Синтаксис при написании bat-файлов

  • Каждая команда вводится с новой строчки;
  • Все команды выполняются последовательно за исключением тех случаев, когда внутри самого батника присутствует переход к определённой его части;
  • Комментарии в пакетный файл могут быть добавлены двумя способами:
    - либо после двух двоеточий ::переход к части копирования - либо при помощи команды goto, т.е. вводится команда goto, потом место для перехода, а между ними сам комментарий
  • Если команду необходимо ввести с атрибутом, то сначала вводим команду, затем пробел, слэш и, собственно, сам ключ copy /Y Чтобы посмотреть список возможных атрибутов к конкретной команде, нужно в командной строке ввести команду, затем пробел, слэш и знак вопроса dir /?
  • Для скрытия окна терминала выполняемой команды можно в начале строки поставить знак собачки @, если же требуется скрыть отображение выполнения всех команд, то проще (чтобы не ставить собачку в каждой строчке) в начале батника указать @echo off здесь команда echo off скрывает окна, а собачка впереди неё запрещает отображение выполнения самой echo off
  • Все директории внутри команд, для исключения возможных ошибок, будем вводить в кавычках;
  • По умолчанию при работе с кириллическим текстом на выходе вы можете получить иероглифы, при работе с папками/файлами, имеющими русские имена, вообще может ничего не получиться, это происходит из-за используемых кодировок, поэтому для исключения подобных неприятностей в начале пакетного файла будем указывать кодировку, корректно работающую с кириллицей следующей командой chcp 1251
  • Есть команды (например, удаление файлов, форматирование), которые могут потребовать подтверждения действий. Порой это бывает очень нежелательно, в таком случае, можно вписать ответ заранее в сам пакетный файл. Ответ записывается ДО! команды и отделяется от неё вертикальной чертой |Y|del
  • В командной строке (а значит и в пакетных файлах) при указании директории иногда бывает удобнее пользоваться переменными, нежели прописывать весь путь cd %APPDATA%

Приступим.

Часть третья. Резервное копирование при помощи батников

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

Автоматическое копирование каталогов в папку backup

Для копирования каких-либо данных используется команда copy (копирование файла/файлов) или xcopy (копирование каталогов). Т.е., допустим, нам необходимо делать бэкап содержимого папки, в которой находятся ваши данные к дипломной работе (материалы, приложения, черновик самой работы и т.д.).
В этом случае текст будет следующим

Где D:\diplom\ - папка расположения всех материалов к диплому, а E:\backup\diplom\ - конечная директория резервной копии.
Создаём батник, кидаем его в автозагрузку (пуск - все программы - автозагрузка), и при каждом включении компьютера будет создаваться резервная копия (рк).Чуть усложним. Сделаем, чтобы при включении ПК старые данные сохранялись в папочке diplom_old, а новые в папочке diplom. Тогда батник будет иметь вид

del удаляет ранее созданную вторую рк.
rmdir переименовывает первую рк во вторую.
xcopy создаёт новую рк.
Атрибут /s применяет команду ко всем подкаталогам, атрибут /q отключает запрос на подтверждение действий.Если в двух копиях смысла нет, можно сделать так, чтобы заменялись только те файлы, которые были изменены, те же, которые не изменились, либо вообще были удалены из исходной папки, затронуты не будут. Для этого пишем следующее

Создание бэкапа в архиве

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

Архив папки D:\diplom будет создаваться в E:\backup, именем будет дата и время создания архива, т.е., например 16-Aug-12–14-06-53

Часть четвертая. Автоматизация процесса создания и удаления файлов/каталогов с использованием bat-файлов

Как создать папку из батника

Начнём с самого простого. Создание папки. Папка создаётся командой MD
Чтобы создать папку с именем backup в корне диска D:\, нам необходимо собрать следующего вида пакетный файл

Если же, допустим, нужна каждый день новая папочка с датой на месте имени, то батник будет иметь вид

Здесь строчкой set datetemp=%date:

-10% мы создаём переменную datatemp на время работы батника и присваиваем ей 10 символов значения системной даты;

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

С созданием пустых текстовых файлов дело чуть сложнее. Такой команды просто нет, нужно что-то в этот файл писать. Чтобы выйти из ситуации воспользуемся значением nul (это даже не нулевое значение, а его отсутствие)

Также, как и в примере с папкой, можно сделать именем текущую дату

Автоматическая очистка папки из батника

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

Строчкой cd "C:\Windows\Temp\" мы переходим в папку temp
Строкой echo Y|del *.* удаляем содержимое этой папки (не саму папку!)

Часть пятая. Прочие возможности bat-файлов

Возможностей, на самом деле, огромное множество. Здесь для примера рассмотрим некоторые из них.

Одна из самых известных возможностей использования батников - это запись содержимого каталога в файл

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

/S заставит батник показать содержимое не только каталога, но и всех подкаталогов.
c:\ поможет отобразить содержимое не того каталога, откуда запускается бат-файл, а нужного нам.
X:\file.txt сохранит конечный файл со списком содержимого в указанное нами место;

Запуск файлов из командной строки

Очень часто полезным оказывается возможность запуска объектов из командной строки (в данном случае уже из бат-файлов). Причем как программ, так и других видов файлов (графических изображений, медиафайлов, текстовых документов и т.п.)
К примеру, если в автозагрузку добавить текстовый документ, то при включении ПК после загрузки системы вы его сразу увидите. Либо откроется плеер и будет проигрывать соответствующий трек. (Подробнее про способы добавления файлов в автозагрузку вы можете прочитать в статье: Автозагрузка. Добавление приложений в автозагрузку Windows)
Для того, чтобы это реализовать, нужно просто в теле бат-файла прописать точный путь до необходимого объекта. Например

Для системных же программ нужно указать лишь её обозначение.

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

Часть шестая. Хитрости или шутки в сторону

Здесь рассмотрим ещё несколько интересных возможностей для применения батников. Из названия ясно, что некоторые из действий могут навредить системе (хотя это можно сделать и "голыми руками"), но если делать всё с умом, то может выйти достаточно интересно.

Шпионские штучки. Похищаем содержимое флешки

В самом начале статьи было указанно, что команды в батниках выполняются последовательно, если это не оговорено в самом теле исполнительного файла. Рассмотрим именно этот частный случай. Нуууу, допустим. Вы знаете, что к вам придёт знакомый (а может, знакомая) с просьбой произвести какие-то манипуляции с его/её флэш-карточкой, и вам очень хотелось бы слить все данные с этого накопителя на ваш ПК. Но делать это при госте не совсем удобно, да и просто можно получить "красную карточку". Что мы в таком случае делаем? Создаём батник следующего содержания

Создаём на этот бат-файл ярлычок, в свойствах ярлыка указываем, чтобы файл запускался в свёрнутом состоянии. Дважды кликаем по ярлыку. Что имеем.
:test обозначает начало действия батника
if exist g:\ goto go проверяет наличие в компьютере диска G:\, если он есть, то переходим к части :go (суть в том, что обычно вставленная флешка получает для обозначения первую свободную в системе букву латинского алфавита, проследить это на своём компе не так уж сложно. Вот именно эту буковку мы и указываем вместо G:\)
goto test если диск G:\ не был найден, возвращаемся к началу части :test
:go обозначает начало действия второй части батника
xcopy "G:\*.*" "C:\упс\*.*" копирует всё содержимое диска G:\ в папку упс на диске C:\
Т.е. после того, как мы запустили файл с ярлыка, он запускается в свёрнутом состоянии и циклически проверяет наличие флешки в ПК. Как только флешка там засветится, начнётся копирование всех данных с неё в указанную папку, причем привычного окна копирования файлов не выскочит, всё будет отображаться в свёрнутом окне терминала.Ну, всё что было описанно выше, полезно на своём компе, однако есть несколько плюшек, с помощью которых можно подшутить над другом/подругой.

Маленький вирус в автозагрузку

Первая строка добавляет файл в автозагрузку для всех пользователей на Windows XP (для конкретного пользователя в качестве пути указываем %USERPROFILE%\"Главное меню"\Программы\Автозагрузка\)
Вторая строка добавляет файл в автозагрузку для Windows 7.

Начало обеих строк в виде copy %0 означает копирование "самого себя".
Это сделали. Ещё нам хотелось бы, чтобы после запуска батника и при каждой загрузке ПК появлялась весёленькая надпись, к примеру, "ТЫ ЛАМЕР!"
Для этого добавляем следующее

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

Однако, и первый вариант будет работать.

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

Едем дальше, ближе к вкусностям.
Чтобы наш объект экспериментов растерялся ещё больше, в тело батника по желанию добавляем что-нибудь из следующего:

%SystemRoot%/system32/rundll32 user32, SwapMouseButton >nul - строка меняет кнопки мыши местами. Весьма забавная штуковина, однако если человечек не отличается уровновешенной психикой, от этого советую отказаться. Чтобы поменять кнопки мыши обратно, заходи в панели управления в пункт мышь и там инвертируем галочку в поле обменять назначение кнопок.

Команда rundll32 keyboard, disable отключит клавиатуру вплоть до следующей перезагрузки, а rundll32 mouse, disable то же самое проделает с мышью. Если батник в автозагрузке, то при рестарте это дело, разумеется, повторится.

rundll32 shell32, SHExitWindowsEx 1 - выключит ПК.

rundll32 shell32, SHExitWindowsEx 2 - перезагрузит ПК.

Ну и del "%SystemRoot%Cursors*.*" >nul удалит курсоры мыши ( пользоваться с осторожностью и в самых крайних случаях! )

Теперь остаётся только скомпоновать желаемые строки в единый код

Часть седьмая. Упаковка исполнительного файла

Программный способ упаковки батников

    • конвертировать bat-файл в *.exe при помощи какой-нибудь утилитки (например, bat to exe)
    • создать sfx-архив.

    Упаковка батников в SFX-архив

    Второй вариант в рамках данной статьи чуток подробнее и рассмотрим.
    - Для начала нам надо установить на ПК подходящий архиватор (для этих целей я рекомендую WinRAR, т.к. создание sfx-архивов в нём реализовано наиболее удобно и просто).
    - Создаём нужный нам пакетный файл (батник).
    - Кликаем правой кнопочкой по батнику, выбираем из контекстного меню WinRAR => Добавить в архив (дальше по вкладкам)
    - Общие. Имя любое. Формат - RAR. Метод сжатия обычный. В параметрах архивации ставим галочку напротив Создать SFX-архив.
    - Дополнительно. Жмём на кнопочку Параметры SFX. Вкладочка "Общие", выполнить после распаковки - вписываем имя архивируемого батника с расширением. Во вкладке "Режимы" в разделе "Режим вывода информации" ставим галочку напротив "Скрыть всё". На вкладочке "Текст и графика" можно, например, добавить симпатичную иконку вашему архиву вместо стандартной. Если вы не художник, то иконку можно вытащить из любой программы/игры при помощи стороннего софта, например Restorator.
    - На этом всё. Остальные опции на ваше усмотрение. Жмём кнопочку ОК. В исходной папке с батником появится ещё и наш новый sfx-архив.
    - Чтобы добавить солидность файлу, позволить ему прибавить в весе, можно в архив "напихать" ещё что-нибудь, это может быть что угодно, т.к. цель - только увеличение размера.
    - В архиве может быть сколько угодно батников, при создании архива мы указываем, что выполнять нужно первый (прописываем его имя с расширением), чтобы после этого выполнился следующий, в конце (либо в нужном нам месте) пишем

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

    Вместо заключения

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

    Устанавливаем переменную answer в пустое значение (необходимо, для того чтобы затереть предыдущее значение, например, если батник исполняется несколько раз). set с ключом /p устанавливает значение переменной, которое вводится пользователем. Проверяем значение переменной и если оно не равно y завершаем выполнение батника.

    Как получить текущий месяц, день, год и т.п.?

    В батниках есть возможность получать подстроку используя синтаксис %variable:

    m,n% Где variable это название переменной m – индекс первого символа, а n – количество символов подстроки.

    Следовательно, если команда echo %date% (а формат даты может у вас отличатся) выведет 13.06.2009, то для того чтобы получить текущий месяц достаточно выполнить %date:

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

    Лично мне такое понадобилось для задания ключа /d для xcopy.

    Как вывести пустую строку в лог-файл?

    Я не сразу догадался, что это можно делать вот так: :)

    Т.е. нужно поставить точку после echo.

    Предыдущая команда выполнена успешно?

    В большинстве случаев это:

    Архивирование файла с переменным именем

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

    мы выбираем все файлы по маске, исполняя команду rar a -ep c:\other_dir\%%

    ni.rar %%i для каждого, где %%

    ni это только имя файла.

    Имя текущего исполняемого батника

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

    «Функция» в батниках

    Если мы исполняем в одном батнике несколько повторяющихся команд, но с разными значениями переменных, то это можно реализовать так:

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

    Получить последний по дате создание файл

    Для начала получим список всех файлов, отсортированных по дате модификации:

    И пройдемся по нему циклом.

    Логично, что по завершению цикла в переменной %lastfile% у нас будет последний по дате модификации файл ;)

    Выкачать файл по FTP

    Где файл file_to_ftp.txt будет у нас выглядеть следующим образом:

    Создаем нумерованные каталоги с инкрементом на единицу

    Разобраться в коде предлагаю вам самим. :) Основная возможность, которую я хотел показать данным примером, это использование ключа /a команды set для вычисления выражений. ;)

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

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

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

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

    Создание bat-файла в Notepad++ шаг 1

    Создание bat-файла в Notepad++ шаг 2

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

    Сохранение bat-файла в Блокноте

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

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

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

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

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

    kak-sozdat-bat-fail-4

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

    kak-sozdat-bat-fail-5

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

    kak-sozdat-bat-fail-6

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

    kak-sozdat-bat-fail-7

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

    kak-sozdat-bat-fail-8

    kak-sozdat-bat-fail-9

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

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

    kak-sozdat-bat-fail-10

    kak-sozdat-bat-fail-11

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

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

    kak-sozdat-bat-fail-12

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

    kak-sozdat-bat-fail-13

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

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

    Запуск bat-файла от имени администратора

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

    kak-sozdat-bat-fail-15

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

    Настройка запуска bat файла через Планировщик - шаг 1

    Настройка запуска bat файла через Планировщик - шаг 2

    Настройка запуска bat файла через Планировщик - шаг 3

    Настройка запуска bat файла через Планировщик - шаг 4

    Настройка запуска bat файла через Планировщик - шаг 5

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

    kak-sozdat-bat-fail-21

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

    kak-sozdat-bat-fail-22

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

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

    Пакетный файл представляет собой файл сценария в DOS , OS / 2 и Microsoft Windows . Он состоит из серии команд, которые должны выполняться интерпретатором командной строки , хранящихся в текстовом файле. Пакетный файл может содержать любую команду интерпретатор принимает в интерактивном режиме и использование конструкций , которые позволяют условные переходы и циклы в пакетном файле, такие , как IF , FOR и GOTO этикетки . Термин «пакет» происходит от пакетной обработки , что означает «неинтерактивное выполнение», хотя пакетный файл может не обрабатывать пакет из нескольких данных.

    Расширение имени файла .bat используется в DOS и Windows. Windows NT и OS / 2 также добавили .cmd . Пакетные файлы для других сред могут иметь другие расширения, например .btm в оболочках , связанных с 4DOS , 4OS2 и 4NT .

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

    СОДЕРЖАНИЕ

    Варианты

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

    Ранние окна

    OS / 2

    Windows NT

    Microsoft выпустила версию cmd.exe для Windows 9x и ME под названием WIN95CMD, чтобы пользователи старых версий Windows могли использовать определенные командные файлы в стиле cmd.exe.

    Расширения имени файла

    Параметры пакетного файла

    Примеры

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

    Чтобы выполнить файл, он должен быть сохранен с суффиксом расширения имени файла .bat (или .cmd для операционных систем типа Windows NT) в текстовом формате, обычно создаваемом с помощью текстового редактора, такого как Microsoft Notepad, или текстового процессора, работающего в обычный текстовый режим.

    При выполнении отображается следующее:

    Объяснение

    Интерпретатор выполняет каждую строку по очереди, начиная с первой. @ Символ в начале каждой строки предотвращает приглашение отображать эту команду , как она выполняется. Команда ECHO OFF отключает приглашение навсегда или до тех пор, пока оно не будет включено снова. Комбинация @ECHO OFF часто включает в себя первую строку командного файла, предотвращающую отображение каких-либо команд. Затем выполняется следующая строка и ECHO Hello World! выводится команда Hello World! . Выполняется следующая строка, и PAUSE команда отображает Press any key to continue . . . и приостанавливает выполнение скрипта. После нажатия клавиши сценарий завершается, так как команд больше нет. В Windows, если сценарий выполняется из уже запущенного окна командной строки , окно остается открытым в приглашении, как в MS-DOS; в противном случае окно закрывается по завершении.

    Ограничения и исключения

    Нулевые значения в переменных

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

    Например, если% foo% пуст, этот оператор:

    разбирается как ошибочная конструкция:

    Аналогично, если %foo% содержит abc def , то возникает другая синтаксическая ошибка:

    Обычный способ предотвратить эту проблему - заключить расширения переменных в кавычки, чтобы пустая переменная преобразовывалась в допустимое выражение IF ""=="bar" вместо недопустимого IF ==bar . Текст, который сравнивается с переменной, также должен быть заключен в кавычки, потому что кавычки не являются специальным ограничивающим синтаксисом; эти персонажи представляют себя.

    Задержка! ПЕРЕМЕННАЯ! расширение, доступное в Windows 2000 и более поздних версиях, может использоваться, чтобы избежать этих синтаксических ошибок. В этом случае пустые или многословные переменные не ошибаются синтаксически, потому что значение расширяется после анализа команды IF:

    Еще одно отличие Windows 2000 или выше заключается в том, что пустая переменная (неопределенная) не заменяется. Как описано в предыдущих примерах, предыдущее поведение пакетного интерпретатора привело бы к пустой строке. Пример:

    Пакетные интерпретаторы до Windows 2000 отображали результат MyVar is not defined .

    Кавычки и пробелы в переданных строках

    В отличие от процессов Unix / POSIX, которые получают свои аргументы командной строки, уже разделенные оболочкой на массив строк, процесс Windows получает всю командную строку как одну строку через функцию GetCommandLine API. В результате каждое приложение Windows может реализовать свой собственный синтаксический анализатор для разделения всей командной строки на аргументы. Многие приложения и инструменты командной строки разработали для этого собственный синтаксис, поэтому не существует единого соглашения о заключении в кавычки или экранировании метасимволов в командной строке Windows.

    • Для некоторых команд пробелы рассматриваются как разделители, разделяющие аргументы, если эти пробелы не заключены в кавычки. Существуют различные соглашения о том, как кавычки могут быть переданы приложению:
      • Широко используемое соглашение реализуется синтаксическим анализатором командной строки, встроенным в библиотеку времени выполнения Microsoft Visual C ++ в функции CommandLineToArgvW . Он использует соглашение, согласно которому 2 n обратных косых черт, за которыми следует кавычка ("), создают n обратных косых черт, за которыми следует начало / конец кавычки, тогда как (2 n ) +1 обратные косые черты, за которыми следует кавычка, снова создают n обратных косых черт, за которыми следует литерал кавычек. Это же соглашение является частью спецификации .NET Framework .
        • Недокументированный аспект заключается в том, что "", встречающееся в середине строки в кавычках, создает одинарную кавычку. (Изменение CRT в 2008 году [msvcr90] изменило эту недокументированную обработку кавычек.) Это полезно для вставки кавычек в аргумент без повторного включения интерпретации метасимволов cmd, таких как | , & и > . (cmd не распознает обычное \ " как экранирование цитаты. Он повторно включает эти специальные значения при просмотре цитаты, думая, что цитата закончилась.)

        Если строка содержит кавычки и должна быть вставлена ​​в другую строку текста, которая также должна быть заключена в кавычки, требуется особое внимание к механизму цитирования:

        В Windows 2000 и более поздних версиях решение состоит в замене каждого символа кавычки в значении серией из трех символов кавычек:

        Экранированные символы в строках

        Некоторые символы, например, вертикальная | черта ( ), имеют в командной строке особое значение. Они не могут быть напечатаны как текст с помощью команды ECHO, если не экранированы с помощью символа вставки ^:

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

        Задержка ! ПЕРЕМЕННАЯ! расширение доступно CMD /V:ON или SETLOCAL ENABLEDELAYEDEXPANSION в Windows 2000 , а затем может быть использовано , чтобы показать специальные символы , хранящиеся в переменных окружении , так как значение переменного расширяются после того, как команда была разобрана:

        Сон или задержка по сценарию

        До появления команды TIMEOUT в Windows Vista не было простого способа реализовать временную паузу, поскольку команда PAUSE приостанавливает выполнение сценария на неопределенный срок, пока не будет нажата какая-либо клавиша.

        Вывод текста с вырезанными CR / LF

        Обычно ко всему печатному тексту автоматически добавляются управляющие символы для возврата каретки (CR) и перевода строки (LF) в конец каждой строки.

        Не имеет значения, используют ли две команды echo одну и ту же командную строку; коды CR / LF вставляются, чтобы разбить вывод на отдельные строки:

        Это можно использовать для вывода данных в текстовый файл без добавления CR / LF в конец:

        Тем не менее, нет способа вставить этот разделенный вывод приглашения CR / LF непосредственно в переменную среды.

        Установка рабочего каталога Uniform Naming Convention (UNC) с помощью ярлыка

        Невозможно иметь командную строку, в которой в качестве текущего рабочего каталога используется путь UNC ; например \\server\share\directory\

        Командная строка требует использования букв дисков для назначения рабочего каталога, что затрудняет выполнение сложных пакетных файлов, хранящихся на общем UNC-ресурсе сервера. Хотя командный файл можно запустить из пути к файлу UNC, рабочим каталогом по умолчанию является C:\Windows\System32\ .

        В Windows 2000 и более поздних версиях можно использовать команду PUSHD и POPD с расширениями команд.

        Если по умолчанию не включено, расширения команд можно временно включить с помощью /E:ON переключателя интерпретатора команд.

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

        • Цель: %COMSPEC% /E:ON /C "PUSHD """ \\SERVER\SHARE\DIR1\DIR2\ """ & BATCHFILE.BAT & POPD"

        Атрибут рабочего каталога этого ярлыка игнорируется.

        Это также решает проблему, связанную с контролем учетных записей пользователей (UAC) в Windows Vista и новее. Когда администратор входит в систему и включен UAC, и они пытаются запустить пакетный файл от имени администратора с буквы сетевого диска, используя контекстное меню файла, щелкнув правой кнопкой мыши, операция неожиданно завершится ошибкой. Это связано с тем, что контекст привилегированной учетной записи UAC с повышенными правами не имеет назначений букв сетевых дисков, и невозможно назначить буквы дисков для контекста с повышенными правами через оболочку Explorer или сценарии входа в систему. Однако, создав ярлык для командного файла с использованием указанной выше конструкции PUSHD / POPD и используя ярлык для запуска командного файла от имени администратора, временная буква диска будет создана и удалена в контексте учетной записи с повышенными правами, и командный файл будет работать правильно. .

        Следующий синтаксис правильно расширяется до пути к текущему пакетному сценарию.

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

        Значение реестра Dword DisableUNCCheck в HKEY_CURRENT_USER\Software\Microsoft\Command Processor позволяет каталог по умолчанию будет UNC. CD команда откажется от изменения, но поместит UNC-путь в каталог по умолчанию в ярлыке для Cmd или с помощью команды «Пуск». ( акция для администраторов). start "" /d \\127.0.0.1\C$ "cmd /k" C$

        Набор символов

        В пакетных файлах используется набор символов OEM, определенный компьютером, например, кодовая страница 437 . Их части, отличные от ASCII, несовместимы с наборами символов Unicode или Windows, которые иначе используются в Windows, поэтому необходимо соблюдать осторожность. Неанглийские имена файлов работают только в том случае, если они введены через редактор, совместимый с набором символов DOS. Имена файлов с символами вне этого набора не работают в пакетных файлах.

        Чтобы получить вывод в Юникоде в файловые каналы из внутренней команды, такой как dir , можно использовать cmd /U команду. Например, cmd /U /C dir > files.txt создает файл, содержащий список каталогов с правильными символами Windows в кодировке UTF-16 LE.

        Пакетные вирусы и вредоносное ПО

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

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

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

        Другие языки сценариев Windows

        Командный процессор cmd.exe, который интерпретирует файлы .cmd, поддерживается во всех 32- и 64-разрядных версиях Windows, по крайней мере, до Windows 10. COMMAND.EXE, который интерпретирует файлы .BAT, поддерживался во всех 16- и 32-разрядных версиях. битовые версии как минимум до Windows 10.

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

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