Как создать BAT файл?
Эта тема разбита на 2 раздела, каждый из которых — ключевой при создании пакетного документа. Не зная основ и команд, нужных для формирования структуры, автоматизировать процесс работы невозможно.
Основы создания BAT файлов
Вы не сможете создать пакетный файл без изучения базовых команд. Каким бы он не был полезным и не помогал автоматизировать работу на ПК, непонимание основ станет серьезным препятствием. В этом разделе мы рассмотрим 5 базовых команд, которые вас в курс дела.
titleИспользуется для создания заголовка. Отображается в верхней части окна командной строки.
echoРежим вывода команд на экран. При включении, командная строка выведет на экран сообщение о совершенном действии. При отключении, соответственно, сообщения пропадут
Обратите внимание, что вам придется контролировать статус echo. Если команда активирована на строке 2 и вы решили отключить ее на строке 22, 20 промежуточных строк будут содержать включенный режим вывода команд
pauseИспользуется для остановки процесса.
exitПозволяет закрыть командную строку.
clsИспользуется для очистки окна командной строки.
::Позволяет добавить комментарий к действию пакетного файла. Команда является пассивной и не влияет на общую работу документа.
Представленные выше команды — базовые и присутствуют во всех версиях Windows. Дополнительные команды появляются при установке соответствующего программного обеспечения. Например, если вы хотите автоматизировать задачи браузера Google Chrome, введите соответствующий код под названием chrome .
Используя эту информацию как фундамент для создания BAT файлов, вы можете автоматизировать любой процесс на ПК.
Руководство по созданию BAT файла
В этом разделе мы рассмотрим алгоритм создания пакетного файла, который подойдет для Windows 10, Windows 8.1, Windows 7 и даже для Windows XP.
1. Откройте Блокнот . При желании, воспользуйтесь альтернативой стандартному приложению — Notepad++ .
2. С помощью команду echo off временно отключите комментарии, чтобы не засорять окно.
3. Введите заголовок title My First Bat File .
4. Добавьте комментарий This comment will not appear in the command prompt. Следует отметить, что по умолчанию в командной строке отображается только английский язык. Тем не менее, комментарий может быть на любом другом. Он не будет отображаться в CMD и останется только в блокноте. Комментарий — ваша личная заметка, чтобы не потеряться в коде.
5. Введите команду echo Test file executed .
6. Далее введите I am too lazy to write commands by myself .
7. И, наконец, команда paust , чтобы обозначить завершение процесса.
8. Сохраните документ, изменив формат с .txt на .bat .
Команда shutdown
В UNIX для завершения работы системы (выключения, перезагрузки) используется команда shutdown. Мало кто знает, но одноименная команда есть и в Windows. Теперь фанаты UNIX могут завершать работу системы командой shutdown -s и перезагружать систему командой shutdown -r. Также доступен параметр -t, позволяющий задать таймер завершения работы (в секундах), например, в следующем примере система будет перезагружена через одну минуту: shutdown -r -t 60. Параметр -f обеспечивает принудительное завершение работы с закрытием всех запущенных приложений.
Ссылки
- О команде powercfg:www.hanselman.com/blog/PowerCfgTheHiddenEnergyAndBatteryToolForWindowsYoureNotUsing.aspx
- Справочное руководство по командной строке от Microsoft: technet.microsoft.com/en-us/library/bb490890.aspx
- Об управлении службами и команде sc: www.osp.ru/win2000/2011/06/13009943/
- Подробно о команде sc config: www.osp.ru/win2000/2007/04/4257187/
8. Команда sc
Команда sc взаимодействует с контроллером служб и установленными службами. В UNIX/Linux можно управлять службами (сервисами, демонами) из командной строки (в принципе, не знаю такой вещи, которую нельзя было бы выполнить из командной строки в UNIX). С помощью утилиты sc можно управлять службами из командной строки в Windows. Можно запускать и останавливать службы, изменять тип запуска службы и так далее.
Так, для запуска и останова службы используются соответственно параметры start и stop:
Назревает вопрос: как узнать имя службы? Очень просто — для этого нужно использовать параметр query, в результате будет отображен детальный перечень всех служб:
Так как список очень большой, для его просмотра можно перенаправить вывод команды или в команду more (для пагинации), или в буфер обмена (команда clip), или в файл:
Дополнительную информацию об этой команде можно найти на врезке.
Рис. 6. Команда sc query | more
9. Команда recover
Используется для восстановления информации с испорченного или дефектного диска. Представим, что у нас есть каталог d:\reports\2014 и в нем был файл jan.txt, но на диске появились bad-секторы, и прочитать файл jan.txt не получается. Для восстановления (частичного) информации из этого файла можно использовать команду
Команда recover читает файл сектор за сектором и восстанавливает информацию, которую еще можно прочитать. Понятно, что программа не сможет взять информацию из поврежденных секторов, поэтому восстановление информации будет частичным. Данные из поврежденных секторов будут утеряны. Также нужно помнить, что использование масок файлов вроде * и ? в этой команде не допускается, нужно указать явное имя файла.
10. Команда tree
Кому-то команда tree покажется бесполезной, однако она пригодится разработчикам программного обеспечения и техническим писателям. Команда tree отображает структуру каталогов по указанному пути. Например, у нас есть проект c:\my_prj\project1. Нужно построить структуру подкаталогов этого каталога. Для этого можно использовать следующие команды:
Первая команда копирует структуру каталогов в буфер обмена, а вторая помещает в файл с именем project1.txt.
Рис. 7. Команда tree
PowerShell
В 2012 году «Хакер» публиковал статью «Апгрейды для cmd.exe и альтернативы», в которой обсуждались возможные замены для cmd.exe. Напомню, что в статье рассматривались console, clink, cygwin, mintty, PowerCmd. Все они позволяют сделать работу в командной строке эффективнее. В Microsoft тоже понимали, что стандартный cmd.exe уже безнадежно устарел, и вместо того, чтобы подвергнуть его апгрейду, в Microsoft работали над PowerShell. PowerShell — расширяемое средство автоматизации от Microsoft, состоящее из оболочки с интерфейсом командной строки и сопутствующего языка сценариев. Будущее командной строки Windows за PowerShell, поэтому, если ты еще не знаком с ним, самое время начать знакомство. О PowerShell мы писали в февральском номере.
SC
Входящая в Windows программа SC позволяет легко создавать службы Windows, а так же проводить другие различные с ними манипуляции — удаление, отключение, включение, и т. д. Создается служба достаточно просто, для этого достаточно запустить командную строку от имени администратора, и выполнить там следующую команду:
Удаляется же служба еще проще:
Однако, у данного метода есть один большой существенный недостаток — с помощью данной утилиты создать службу можно только из программы, которая поддерживает работу службой. По этому, запустить какое попало приложение как службу данным способом не получится — но, можно воспользоваться сторонней утилитой NSSM, о которой речь пойдет ниже.
Установить службу windows с помощью командной строки windows?
откройте Visual studio и выберите новый проект, выбрав шаблон tab. Чем скопировать следующий код в service_name.cs файл.
щелкните правой кнопкой мыши на service_name.CS файл и откройте конструктор сервиса. чем щелкните правой кнопкой мыши и выберите . чем щелкните правой кнопкой мыши на и изменить его значение свойства С to .
удалить метод . Чем сохранить и построить свой проект.
Примечание: перейти папка вашей папки проекта. Чем открыть свойства вашего . Чем Гото tab. Чем нажать на .
Выберите вариант .
теперь вы должны открыть CommandPromt как администратор. После открытия установите каталог, где ваш это. например: . теперь напишите следующую команду:
Примечание: – i для установки он обслуживает и-u для Unsinstall.
после-я установил путь записи, где вы хотите установить свою службу.
теперь напишите команду в CommandPromt следующим образом:
Примечание: использовать для остановки службы.
теперь откройте . Выберите Журналы Windows>Приложение. Там вы можете проверить журнал своей службы, запустив и остановив службу.
Как запустить команду как пользователь system
При выполнении команд в удалённой системе привилегии и владелец процесса будут предоставлены пользователем. Если нам нужно изменить владельца удалённых команд на пользователя SYSTEM, мы указываем опцию -s.
В этом примере мы будем использовать regedit.exe:
.psexec \HACKWARE-SERVER -u Администратор -p Aa1 -i -s regedit.exe
Обратите внимание, что если на локальном компьютере нужно запустить программу с привилегиями SYSTEM (это намного более высокий привилегии, чем Администратор), то psexec также поможет. Например, чтобы получить доступ к разделам реестра Windows HKEY_LOCAL_MACHINESAMSAM достаточно выполнить команду:
psexec -s -i regedit.exe
Как запустить командный файл в Windows 10
В Windows 10 вы можете запустить командный файл как минимум тремя способами. Вы можете запустить пакет по требованию, используя проводник или командную строку. Вы можете создать запланированное задание с помощью планировщика заданий. Или вы можете поместить скрипт в папку «Автозагрузка», чтобы запускать его каждый раз при входе в устройство.
Запуск пакетного файла по требованию
Если вам нужно запустить скрипт по требованию, вы можете использовать проводник или командную строку.
Проводник
Чтобы запустить пакетный файл с помощью проводника, выполните следующие действия:
- Откройте проводник.
- Найдите папку со сценарием.
- Дважды щелкните командный файл, чтобы запустить его.
- (Необязательно) Если вы выполняете команду, требующую прав администратора, вам нужно запустить сценарий от имени администратора, щелкнув правой кнопкой мыши пакетный файл и выбрав опцию Запуск от имени администратора.
После того, как вы выполните шаги, пакет будет выполнять каждую команду в последовательности, отображая результаты в терминале.
Командная строка
Чтобы запустить командный файл из командной строки, выполните следующие действия:
- Откройте командную строку от имени администратора.
- Введите путь и название командного файла и нажмите Enter:
C:\PATH\TO\FOLDER\BATCH-NAME.bat
Например, следующая команда запускает пакетный файл, расположенный в пользовательской папке «batch» внутри папки «Downloads»:
C:\Users\user\Documents\scripts\first_batch.bat
После того, как вы выполните эти шаги, выходные данные будут отображаться на экране, даже если скрипт содержит команду «PAUSE».
Запуск пакетного файла по расписанию
Чтобы запланировать запуск пакетного файла в Windows 10, вы можете использовать планировщик задач, выполнив следующие действия:
- Откройте Пуск.
- Введите планировщик заданий и щелкните по верхнему результату, чтобы открыть приложение.
- Щелкните правой кнопкой мыши ветку «Библиотека планировщика заданий» и выберите опцию Создать папку….
- Введите имя для папки – например, MyScripts.
Необязательно создавать папку, но рекомендуется организовать ваши задачи.
- Нажмите кнопку ОК.
- Щелкните правой кнопкой мыши папку MyScripts.
- Выберите опцию Создать простую задачу.
- В поле «Имя» введите краткое описательное имя для задачи – например, SystemInfoBatch.
- (Необязательно) В поле «Описание» создайте описание для задачи.
- Нажмите кнопку Далее.
- Выберите опцию Ежемесячно.
В Windows 10 планировщик задач позволяет выбрать несколько триггеров, в том числе на определенную дату, во время запуска или при входе любого пользователя в устройство. В зависимости от ваших требований вам нужно будет настроить дополнительные параметры. В этом случае мы выбираем вариант запуска задачи каждый месяц.
- Нажмите кнопку Далее.
- Используя настройку «Начать», укажите день и время запуска задачи.
- Используйте выпадающее меню «Месяцы», чтобы выбрать месяцы года, в которые вы хотите выполнить задачу.
- Используйте выпадающее меню «Дни» или «В:», чтобы указать дни, в которые будет выполняться задание.
- Нажмите кнопку Далее.
- Выберите опцию Запустить программу, чтобы запустить пакетный файл.
- В поле «Программа/скрипт» укажите путь к пакетному файлу.
- Нажмите кнопку Готово.
После выполнения этих действий задача сохраниться и запустит пакетный файл по указанному вами расписанию.
Запуск пакетных файлов при запуске
В качестве альтернативы, если вы хотите запускать пакетный файл каждый раз, когда вы входите в свое устройство, вместо использования планировщика заданий, вы можете сохранить сценарий в папке «автозагрузка».
Чтобы запустить скрипт при запуске, используйте следующие простые шаги:
- Откройте проводник.
- Найдите папку с командным файлом.
- Щелкните правой кнопкой мыши файл и выберите параметр Копировать.
- Используйте комбинацию Win + R, чтобы открыть окно «Выполнить»
- Введите следующую команду: shell:startup
- Нажмите Вставить на вкладке «Главная» в папке «Автозагрузка». (Или вы можете нажать кнопку «Вставить ярлык», чтобы создать ярлык для командного файла.)
- Выйдите из учетной записи Windows 10.
- Войдите в аккаунт.
После выполнения этих шагов каждый раз, когда вы входите в учетную запись Windows 10, командный файл будет выполняться и выполнять команды в последовательности.
Мы ориентируем это руководство на Windows 10, но возможность использовать пакетные файлы существует давно, а это означает, что вы можете обратиться к этим инструкциям, если вы всё ещё используете более старую версию, включая Windows 8.1 или Windows 7.
Что такое psexec и pstools
На самом деле, PsExec это всего лишь один из инструментов из пакета PsTools. Программа PsExec используется чаще всего, поэтому обычно упоминается она, но в данной инструкции будут рассмотрены как примеры использования PsExec, так и примеры использования других инструментов из пакета PsTools.
Состав PsTools:
- PsExec используется для удалённого выполнения команд или получения шелла (оболочки) на удалённой системе
- PsFile используется для вывода списка удалённо открытых файлов
- PsGetSid используется для отображения идентификатора безопасности для удалённого компьютера или пользователя
- PsInfo используется для получения подробной информации об удалённой системе
- PsKill используется для остановки процесса в удалённой системе по имени или идентификатору
- PsList используется для детального отображения процессов в удалённой системе
- PsLoggedOn используется для вывода списка зарегистрированных пользователей в удалённых системах
- PsLogList, используемый для отображения журналов событий на удалённых системах
- PsPasswd используется для изменения заданного пароля пользователя в удалённой системе
- PsPing используется для пинга из удалённой системы
- PsServervice используется для перечисления и управления службами Windows в удалённой системе
- PsShutdown используется для выключения, выхода из системы, приостановки и перезапуска удалённой системы Windows
- PsSuspend используется для приостановки и возобновления процессов в удалённой системе Windows
- PsUptime используется для отображения времени работы удалённой системы
Выполняем настройки
После запуска cmd можно заняться его настройкой с помощью контекстного меню, которое открываем щелчком правой кнопки мыши по заголовку окна. Затем выбираем опцию Умолчания и выполняем настройки.
Настраиваем возможность использования мыши для выделения текста:
Теперь мы можем выделять фрагмент текста левой кнопкой мыши и нажатием клавиши Enter копировать его в буфер обмена.
Пользуемся вкладками Цвета, Шрифт и Расположение для выполнения остальных настроек.
Заметим, что все настройки установленные с помощью опции Умолчания сохраняются для всех последующих сеансов работы cmd. Если требуется выполнить задачу настройки только для текущего сеанса, следует воспользоваться опцией Свойства контекстного меню.
Запуск с помощью команды «start»
Также для запуска других программ можно использовать команду «start». С ее помощью можно запускать как программы для командной строки, так и приложения с графическим интерфейсом.
Для запуска программ данным способом нужно ввести команду «start» и через пробел указать название программы. Например, для того чтобы запустить текстовый редактор «Блокнот» нужно выполнить следующее:
start notepad
Как и в предыдущем случае, Windows будет искать исполняемый файл в папках, которые указаны в переменной окружения «PATH».
Но, команда «start» позволяет и вручную указать путь к папке с программой. Для этого нужно использовать параметр «/D».
Например, для того чтобы запустить программу «akelpad» из папки «C:\Program Files (x86)\AkelPad» нужно выполнить следующее:
start /D "C:\Program Files (x86)\AkelPad" akelpad
Одной из особенностей команды «start» является то, что она позволяет запускать программы с высоким приоритетом.
Как запустить команду на удалённой системе
Основное использование команды PsExec — это просто запуск команды в удалённой системе. Чтобы запустить команду в удалённой системе, мы должны указать имя пользователя и пароль вместе с командой для запуска на удалённом компьютере.
Общий вид команды для запуска на удалённой системе:
.\psexec \\КОМПЬЮТЕР -u Администратор -p ПАРОЛЬ КОМАНДА АРГУМЕНТЫ КОМАНДЫ
В этой команде:
- \\КОМПЬЮТЕР — имя компьютера Windows или его IP адрес в локальной сети
- -u Администратор — если операционная система на ином языке, то имя пользователя также будет другим, например, на английском это Administrator
- -p ПАРОЛЬ — пароль пользователя Администратор. Эту опцию можно пропустить, тогда команда запросит пароль для ввода
- КОМАНДА — программа, которую нужно выполнить на удалённой системе. После команды могут идти её опции.
Пример выполнения команды ipconfig на удалённом компьютере \\hackware-server от имени пользователя Администратор с паролем Aa1:
.\psexec \\HACKWARE-SERVER -u Администратор -p Aa1 ipconfig
Как мы видим, команда выполняется в удалённой системе без проблем.
У удалённого компьютера HACKWARE-SERVER IP адресом является 192.168.0.53, поэтому следующая команда эквивалентна предыдущей:
.\psexec \\192.168.0.53 -u Администратор -p Aa1 ipconfig
Обратите внимание, что в Windows (в противоположность Linux), регистр букв в именах компьютеров, командах и путях не имеет значения — можно использовать буквы любого регистра в любых местах.
Как включить учётную запись администратора
В моих тестах на последних Windows 10 и Windows Server 2021 команда PsExec работает только с учётной записью Администратор. Поэтому в этом разделе описано, как активировать пользователя Администратор, который по умолчанию присутствует в Windows, но в обычных, не серверных версиях, этот пользователь отключён.
Пользователя Администратор должен быть активен только на удалённом компьютере, где будут выполняться команды с помощью PsExec. На локальном компьютере учётная запись Администратор не требуется.
1. Нажмите клавиши Win r, чтобы открыть окно запуска команды.
2. Введите lusrmgr.msc и нажмите Enter.
3. Откройте Пользователи.
4. Щёлкните правой кнопкой мыши Администратор и выберите Свойства.
5. Снимите флажок «Отключить учётную запись» и нажмите ОК.
6. Снова щёлкните правой кнопкой мыши учётную запись администратора и выберите «Задать пароль».
7. Укажите пароль для учётной записи администратора и нажмите «ОК».
Сторонние программы
Изучить подробно технические характеристики компьютера помогут сторонние утилиты. Рассмотрим подробнее самые распространенные из них.
AIDA64
Многофункциональная утилита распространяется на платной основе, но есть и пробный период. С помощью программы можно провести стресс-тесты, полезные для установки «тяжелых» приложений и игр. Утилита также позволяет посмотреть основные характеристики гаджета. Для этого потребуется:
- Скачать продукт с официального источника.
- Распаковать архив.
Запустить приложение AIDA64.
После запуска программы пользователь увидит основное меню с категориями. Зайдя в каждую из них, юзер может подробнее ознакомиться с соответствующими характеристиками подкатегории.
CPU-Z
Приложение отличается простым интерфейсом, работает на бесплатной основе. Показывает производительность ПК и его компонентов, а также характеристики системы.
Чтобы воспользоваться сервисом, достаточно выполнить следующее:
- Скачать софт с официального сайта разработчика.
- Поставить маркер рядом с пунктом соглашения пользовательских условий.
- Щелкнуть по кнопке «Next».
- Выбрать папку для установки, нажать «Install».
- Запустить софт двойным кликом ЛКМ.
После запуска пользователю откроется окно с вкладками, где можно посмотреть сведения о процессоре, кэше, материнской плате и других компонентах ПК.