WindowsПрограммирование

Окунитесь в программирование пакетных файлов для Windows

Окунитесь в программирование пакетных файлов для Windows

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

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

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

Что такое пакетный файл?

Дос команды в окне команд

Еще до Windows все было достигнуто путем ввода команд вместо того, чтобы указывать и нажимать. Версия Microsoft известна как MS-DOS (Дисковая операционная система Microsoft), а команды известны как команды DOS

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

MS-DOS

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

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

Как создать пакетный файл

Все, что вам нужно, это Блокнот, шпаргалка пакетных команд и немного времени и терпения. Откройте «Блокнот», напишите нужные команды, затем сохраните файл, но измените поле « Сохранить как тип:» на « Все файлы» и измените расширение файла на .bat . Это действительно важно. Теперь у вас будет командный файл, который вы можете использовать по своему усмотрению.

fileRenamer.bat

Если вам нужно внести изменения в командный файл, щелкните по нему правой кнопкой мыши и выберите « Изменить» . Это откроет его в блокноте, и вы можете редактировать его снова. Просто.

Чтобы освоить основы, ознакомьтесь с разделом Как написать простой пакетный файл статью. Давайте рассмотрим несколько задач, которые мы могли бы решить с помощью пакетных файлов.

Ограничить компьютерное время с помощью командного файла

Windows Family Safety существует с Windows 7 и может справиться с задачей ограничения компьютера. времени довольно приятно. Но, возможно, вы захотите настроить компьютер таким образом, чтобы, независимо от того, кто входит в систему, он получал определенное количество времени на компьютере до его выключения. Или, может быть, вы хотите использовать компьютер для потоковой передачи радио, но через некоторое время выключите его, если вы уйдете или заснете. Для этого есть пакетный файл!

  @ эхо выключено
 выключение -s -t 3600 

@echo off — Указывает компьютеру не показывать ничего, что идет после него, в командном окне при запуске командного файла.

shutdown — эта команда очевидна, но параметры -s и -t не обязательно столь же очевидны. -s говорит компьютеру действительно выключиться, а не просто выйти (-l) или перезагрузиться (-r). Параметр -t указывает компьютеру использовать таймер.

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

компьютерное время

Если вы хотите ограничить продолжительность работы компьютера после входа в систему, сохраните файл shutdown.bat в каталоге автозагрузки. В Windows 7 и более ранних версиях он будет расположен по адресу C: \ Documents and Settings \ Все пользователи \ Пуск, Меню \ Программы \ Запуск . В Windows 8 и 8.1 он находится по адресу C: \ ProgramData \ Microsoft \ Windows \ Start Menu \ Programs \ StartUp .

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

Удалить все файлы в папке

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

  cd C: \ Папка \ Подпапка
 del / f / q * 

CD — Говорит вашему компьютеру, чтобы изменить каталог в указанное вами место. В этом примере это C: \ Folder \ Subfolder . Это удалит ВСЕ файлы внутри этой папки. Измените это на любое другое, но убедитесь, что это действительно каталог, который вы хотите очистить, например, папка загрузки.

del — это значит удалить. Параметр / f принудительно удаляет файлы, доступные только для чтения, а параметр / q заставляет компьютер сделать это незаметно. Это означает, что имена всех удаляемых файлов не будут распечатываться в командном окне. Звездочка (*) указывает компьютеру удалить ВСЕ файлы. Звездочка является символом подстановки.

удалить файлы с командным файлом

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

  cd C: \ Folder \ SubfolderOne
 del / f / q * .txt 

Допустим, там много текстовых файлов, и все ваши файлы журнала начинаются с log-dd-mm-yy. Просто используйте звездочку между log и .txt, чтобы она выглядела как log * .txt. Это удалит любой файл, имя которого начинается с log и имеет расширение .txt.

  cd C: \ Folder \ SubfolderTwo
 del / f / q log * .txt 

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

  cd C: \ Folder \ SubfolderOne
 del / f / q log * .txt

 cd C: \ Folder \ SubfolderTwo
 del / f / q log * .txt 

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

Выберите случайное число

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

  @ эхо выключено
 :Начало
 set / a ran =% random%
 если / i% выполнили% GTR 9999 goto: start
 если / i% выполнили% LSS 1000 goto: start
 echo Batch выбрал число% run%
 Пауза 

: start — Создает метку с именем start, которая действует как точка ралли. Каждый раз, когда на нее указывает команда goto, компьютер возвращается к этой точке в сценарии и делает все, что написано в строке после этой метки.

set / a — сообщает компьютеру, что будет новая переменная, которая является числом, параметр / a заставляет его округлить до ближайшего целого числа. Таким образом, если бы значение было 1234,6, оно было бы округлено до 1234.

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

% random% — это динамическая переменная, означающая, что каждый раз, когда компьютер сталкивается с ней, он будет присваивать ему новое значение. Динамическая переменная% random% будет генерировать число от 0 до 32767.

Нам нужно 4-значное число, поэтому оно должно быть между 1000 и 9999. Для этого предназначены следующие 2 строки.

если — это начало условного утверждения — ЕСЛИ это условие верно, ТОГДА что-то делать. В первой строке указывается, что если целое число в переменной run больше (GTR) 9999, перейдите к началу и повторите попытку. Если значение run меньше (LSS) 9999, компьютер перейдет к следующей строке. Вторая строка говорит, что если значение run меньше 1000, перейдите к началу и попробуйте снова. Есть несколько различных операторов, которые мы можем использовать для сравнения чисел в пакетном файле.

лотереи и цифры от Lost

Вы можете подумать, что 0001 — это 4-значное число, и вы были бы правы. Только динамическая переменная% random% не сгенерирует это. Он может сгенерировать одну цифру 1, но не поместит в нее 3 ведущих нуля. Это ограничивает нас только 8999 4-значными числами. Конечно, этого достаточно для наших целей.

В конце концов, компьютер выдаст число, которое находится в диапазоне от 1000 до 9999. Допустим, он выбрал 4428. В этот момент пакетный файл будет использовать команду echo для отображения предложения «Пакетный выбор числа 4428». Теперь у вас есть 4-значный случайный номер. Этот процесс идет намного быстрее, чем пытаться объяснить это — ну, менее чем за секунду.

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

Переименовать несколько файлов с помощью командного файла

Файлы, загруженные с помощью BitTorrent всего в их именах содержится много лишних букв. В этом нет ничего плохого, но было бы неплохо, если бы вы могли удалить все лишние вещи. Допустим, вы загрузили общедоступных электронных книгах и все имена файлов выглядят как BookName.UploaderGuy.PD.epub , где BookName — это название книги. Вы можете использовать этот пакетный файл для удаления этого .UploaderGuy.PD из имени файла.

  @ эхо выключено
 SETLOCAL ENABLEDELEDED EXPANSION 
 SET old = .UploaderGuy.PD
 SET new =
 for / f "tokens = *" %% f in ('dir / b * .epub') do (
 SET newname = %% f
 SET newname =! Newname:% old% =% new%!
 переместить "%% f" "! newname!") 

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

Конец файла

Мы рассмотрели, что такое пакетный файл, основы его создания и несколько примеров полезных. Мы показали вам, где можно найти дополнительную информацию о создании и использовании командных файлов. Надеюсь, мы также повеселились по пути. Удачной подачи!

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

Кредиты на изображения: система MS-DOS , ограничение по времени , удаление файлов , электронные книги на планшет через Shutterstock, лотереи и билеты из Lost via Flickr.

Похожие посты
Windows

Драйверы для Windows 10

Windows

Лучшие приложения для фотографии на вашем Windows Phone

Windows

Команды командной строки для панели управления апплетами

Windows

Официальное приложение SmugMug теперь доступно для Windows Phone