Основы скриптов на PowerShell.
https://gbcdn.mrgcdn.ru/uploads/post/998/og_cover_image/136640dcd4ae5c224e8596715579ad95
Если вы только недавно встали на путь программирования и ещё даже не пробовали поиграться с установленной операционной системой, то манипулирование с помощью скриптов может вызвать резонные вопросы необходимости и удобства. Однако, даже если опустить тот простой факт, что они помогают лучше понять, как функционирует ОС, в будущем при создании приложений, исполнение сценариев может оказаться крайне полезным навыком.
Для исполнения следующих скриптов мы обратимся к PowerShell. Любой системный администратор (по профессии или в душе) знает его возможности и периодически пользуется, для всех остальных это просто интерфейс командной строки или иностранное слово. На популярных ресурсах вы можете найти уйму идей, как использовать PowerShell для развлечения и дела, здесь же мы рассмотрим лишь простые скрипты, которые помогут войти в курс дела.
Выключение и перезапуск
Итак, самая простая операция выключения вашего компьютера. Открываем блокнот, прописываем:
shutdown -s -t 0
Сохраняем файл, как *.cmd (*- имя вашего файла, например shutdown.cmd) и не забудьте в типе выбрать “все файлы”. Всё, исполняемый файл по запуску выключит ваш компьютер. “-s”, в данном случае означает выключение, замените на “-r” — получите перезагрузку. “-t” — таймер, у нас он установлен на 0 секунд, но если установить на 60 — получите выключение через 60 секунд.
Удаляем ненужное
В различных сборках, предустановленных на компьютер или ноутбук, вы можете наткнуться на массу абсолютно ненужных пакетов приложений. Удалить их с помощью скрипта проще простого:
get-appxpackage -name *APPNAME* | remove-appxpackage
Как вы понимаете, *APPNAME* — название неинтересующей надстройки. Да, удалять эти пакеты можно стандартным путём или через специальные программы, но вы можете создать скрипт, который удалит их все одним двойным кликом.
Управляем процессами
Есть в PowerShell две полезные команды, которые позволят бороться с ветряными мельницами (процессами, снижающими быстродействие). Вывести их на экран можно просто прописав:
Get-Service
или информацию о конкретном сервисе под кодовым названием *NAME* (на этом месте должно быть название интересующего сервиса):
Get-Service *NAME*
Но это можно сделать в диспетчере задач, а вот действительно полезным может оказаться создание файла, который по клику закрывал бы все процессы с повышенным потреблением ресурсов (браузеры, антивирусы и пр.). Для этого воспользуйтесь командой Stop-Service:
Stop-Service -Name *ANTIVIRUS*
Stop-Service -Name *BROWSER*
Названия для замены указаны в * *.
Переименовываем группу файлов
Ещё одна назойливая проблема: вы скопировали с фотоаппарата или телефона изображения. Огромная куча фотографий, которые называются однотипно вроде HGNMD034, где HGNMD — название общей директории, объединяющей файлы, например, отснятые за один день. Для того, чтобы сделать название этих файлов приятнее или иметь возможность объединить несколько папок, не получив при этом хронологическую путаницу из-за имен, можно использовать скрипт группового переименования:
$path = «$comp\desktop\journey\russia»
$filter = ‘*.jpg’
get-childitem -path $path -filter $filter |
rename-item -newname {$_.name -replace ‘HGNMD’,’RUSSIA’}
В первой строке в кавычках укажите точный путь к файлам. Во второй строке — расширение файлов, подлежащих изменению. В последней строке вместо “HGNMD” — общее в названиях файлов, подлежащее замене, на что-то, вместо “RUSSIA” — имя, которое вы хотите присвоить. Если данный скрипт опять сохранить в качестве исполняемого файла, то подобные однотипные операции будут отнимать у вас всего несколько секунд времени.
Ищем файлы
Ещё одна простая задача, реализуемая на PowerShell — поиск файлов в директории. В данном случае рассмотрим поиск log-файлов:
Get-Childitem C:\Windows\*.log
Или чуть более сложный пример, когда поиск будет производиться ещё и в подпапках:
Get-ChildItem C:\Windows\* -Include *.log -Recurse -Force
Это чуть более правильная и полная запись, где “Include” — указывает на искомую часть, “Recurse” — на поиск во вложенных каталогах, “Force” — поиск включает в себя системные и скрытые файлы.
Справка
Итак, с общими принципами функционирования PowerShell мы более-менее разобрались. Если что-то непонятно — обратитесь к справочной информации следующим образом:
Get-Help Services
Это команда, которая выведет на экран все доступные команды с кратким описанием. Хотите подробнее? Нет ничего проще:
Get-Help -Name *CMDLET*
Где вместо *CMDLET* вставьте любую интересующую команду.
Находим данные
Теперь перейдём к простым скриптам, описанным чуть более сложными командами. Например, с помощью PowerShell вы можете выудить почти всю информацию о железе и комплектующих. Как вариант, вот скрипт для оценки уровня заряда аккумулятора:
Add-Type -AssemblyName System.Windows.Forms
[Windows.Forms.PowerStatus].GetConstructor(‘NonPublic, Instance’, $null, [Type[]]@(), $null ).Invoke($null)
Архитектура процессора удалённого компьютера:
[PSObject].Assembly.GetType( ‘System.Management.Automation.PsUtils’
).GetMethod(‘GetProcessorArchitecture’, [Reflection.BindingFlags]40
).Invoke($null, @())
Иногда важной задачей бывает проверка прав администратора у текущего пользователя. Вот простой способ на PowerShell:
[PSObject].Assembly.GetType(‘System.Management.Automation.Utils’).GetMethod(
‘IsAdministrator’, [Reflection.BindingFlags]40).Invoke($null, @())
На этом пока остановимся. Как вы наверное убедились, PowerShell не самый сложный, но очень полезный инструмент, который способен выполнять, как простейшие операции, так и достаточно сложные. Однако PowerShell не единственный инструмент для создания скриптов для Windows. Но об этом в следующий раз.
Начало карьеры: интенсив «Основы веб-разработки».
Доброго дня!
На меня тут недавно «наехали» (в хорошем смысле 😊): «Дескать… говоришь вот создать BAT-файл*, а как это сделать-то? Учишь непонятно чему… лишь плохому…».
* Для справки.
BAT-файл — текстовый файл со списком команд. При его запуске (открытии) — интерпретатор ОС выполняет их одну за одной. Это очень удобно для выполнения повторяющихся задач (например, если вам нужно запускать каждый раз игру с высоким приоритетом, или чистить определенную папку, и др.).
*
Собственно, в рамках сегодняшней статьи решил исправиться — кратко показать, как их создавать, и дать несколько примеров для решения самых популярных рутинных задач (довольно часто для этого BAT’ники и используют).
Думаю, что многие пользователи смогут слегка до-корректировать мои примеры и создадут для себя вполне рабочие BAT-файлы. 😉
Итак…
*
Содержание статьи📎
- 1 Создание BAT файлов: на примерах
- 1.1 Основы! С чего начать (Вариант 1: проверка пинга)
- 1.2 Вариант 2: запуск игры с высоким приоритетом + откл. авто-поиска Wi-Fi сетей
- 1.3 Вариант 3: создание резервной копий файлов и точки восстановления в Windows
- 1.4 Вариант 4: очистка временных папок
- 1.5 📌 Вариант 5: форматирование диска/флешки (с ручным выбором буквы, имени и файловой системы)
- 1.6 Как запускать BAT-файл от имени администратора (и по расписанию)
- 1.7 Если при выполнении BAT-файла появятся крякозабры вместо русского текста 👌
→ Задать вопрос | дополнить
Создание BAT файлов: на примерах
Основы! С чего начать (Вариант 1: проверка пинга)
Для начала покажу, как создать простейший BAT-файл для проверки пинга (для общего понимания процесса…).
ШАГ 1
Первым делом необходимо создать самый обычный текстовый файл (такой же, как вы создаете в блокноте). Достаточно кликнуть правой кнопкой мыши по любому свободному месту на рабочем столе и выбрать в меню «Текстовый файл» (Text Document). 👇
Создаем текстовый документ
ШАГ 2
Название файла у этого текстового документа может быть любым (но лучше использовать англ. символы).
Далее следует открыть этот файл и вписать в него нужные команды. В своем примере я впишу только одну (если вы делаете это впервые — рекомендую повторить ее вместе со мной):
ping ya.ru -t
Разумеется, файл нужно сохранить. Кстати, вместо ya.ru можно указать google.ru или любой другой адрес (обычно, многие указывают свой игровой сервер, и запускают этот BAT’ник, когда в игре наблюдаются лаги).
Копируем в него нашу команду и сохраняем файл.
ШАГ 3
Затем обратите внимание на расширение файла — у текстового файла оно «.TXT». Кстати, если у вас не отображаются расширения — можете 📌 прочитать эту заметку или просто введите в командной строке две вот эти команды (последовательно):
reg add «HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced» /v HideFileExt /t REG_DWORD /d 00000000 /f
taskkill /F /IM explorer.exe & start explorer
*
Нам нужно переименовать файл так, чтобы вместо «.TXT» — было новое расширение «.BAT»!
Меняем расширение TXT на BAT
ШАГ 4
Теперь достаточно кликнуть по «нашему» файлу правой кнопкой мыши и запустить его от имени администратора — автоматически появится окно командной строки с проверкой пинга. Удобно? Вполне! 👌
Идет проверка пинга!
ШАГ 5
Чтобы отредактировать BAT-файл (и каждый раз не переименовывать его туда-сюда) — рекомендую вам установить блокнот Notepad++ (уже ранее добавлял его в подборку).
После установки Notepad++ — достаточно кликнуть ПКМ по BAT-файлу — и в появившемся меню выбрать опцию редактирования…
Редактировать BAT
*
Вариант 2: запуск игры с высоким приоритетом + откл. авто-поиска Wi-Fi сетей
Этот скрипт рекомендуется попробовать пользователям ноутбуков, кто играет в сетевые игры.
*
Этот BAT-файл я создал на одном своем рабочем ноутбуке (он уже довольно «старый», и нередко притормаживал при запуске игр). Однако, благодаря нескольким строкам кода — удается вполне комфортно играть. 👌
Что за строки нужно добавить в BAT (выделены коричневым):
cmd.exe /c start /high /D «C:\Games\Counter-Strike 1.6\» hl.exe -game cstrike -appid 10 -nojoy -noipx -noforcemparms -noforcemaccel
netsh wlan set autoconfig enabled=no interface=»Wi-Fi»
pause
netsh wlan set autoconfig enabled=yes interface=»Wi-Fi»
pause
*
Что он делает:
- запускает игру CS с высоким приоритетом (это позволяет снизить кол-во притормаживаний в играх). Разумеется, вместо строки «C:\Games\Counter-Strike 1.6\» hl.exe — вы можете указать свою игру и ее расположение;
- отключает авто-поиск Wi-Fi сетей (это снижаем пинг и увел. скорость сети // правда не дает подключаться к другим Wi-Fi сетям). Кстати, вместо «Wi-Fi» — нужно указать название своего адаптера (посмотрите так: нажмите Win+R, и используйте команду ncpa.cpl);
Название адаптера
- далее идет пауза — скрипт будет ждать нажатия какой-нибудь клавиши (примечание: т.к. у нас будет запущена игра — это окно скроется из вида, и оно не будет нам мешать);
- когда через часик-другой игра будет закрыта, — вы увидите окно командной строки и нажмете какую-нибудь клавишу — будет снова включен авто-поиск Wi-Fi сетей. Удобно? 😉
*
Вариант 3: создание резервной копий файлов и точки восстановления в Windows
Приведу наиболее простую и довольно надежную команду для создания резервных копий файлов и папок:
xcopy C:\Games D:\backup /f /i /y /s
*
Она копирует один каталог в другой (просто, без вопросов и расспросов). Если вам нужно скопировать 2 или 3 (или более) каталогов — просто создайте несколько подобных строк.
Расшифровка:
- C:\Games — тот каталог, который будем копировать (все подкаталоги и файлы из них тоже будут скопированы);
- D:\backup — тот каталог, куда будет всё скопировано;
- /f — выводит имена файлов (чтобы вы видели, что происходит);
- /i — создает новый каталог, если на диске «D:» нет каталога «backup» (см. строку выше);
- /y — перезаписывает старые файлы новыми;
- /s — копирует каталоги и подкаталоги, если в них есть какие-то файлы.
*
Для создания точки восстановления можно использовать следующий код:
wmic.exe /Namespace:\\root\default Path SystemRestore Call CreateRestorePoint «MyRestorePoint», 100, 7
pause
После запуска подобного BAT-файла — точка восстановления будет создана в авто-режиме! Это очень удобно делать перед установкой нового софта, железа и пр. (чтобы проверить есть ли точка — нажмите Win+R, и используйте команду: rstrui). 👇
Если точки нет (как в моем примере ниже) — прочитайте это!
Точки восстановления создаются!
*
Вариант 4: очистка временных папок
Здесь есть несколько вариантов «подхода». Я приведу один из самых простейших, см. 4 строки ниже. 😉
del /q /f /s %WINDIR%\Temp\*.*
del /q /f /s %SYSTEMDRIVE%\Temp\*.*
del /q /f /s %Tmp%\*.*
del /q /f /s %Temp%\*.*
📌 Что это означает:
- BAT-файл с этими строками чистит временные папки в Windows (как правило, в них скапливается один «мусор», которые занимает лишь место на диске);
- %WINDIR%\Temp\ — это папка «C:\Windows\Temp»;
- %SYSTEMDRIVE% — это системный диск «C:\»;
- *.* — маска для удаления всех файлов;
- /q /f /s — удаление всех каталогов и подкаталогов (без вопросов).
*
📌 Что можно еще добавить в наш скрипт:
- del /q /f /s %WINDIR%\Prefetch\*.* — эта строка очистит папку Prefetch (в ней сохраняется кэш от различного софта. При удалении той или иной программы — кэш в папке остается, и со временем — ее размер может разрастись);
- del /q /f /s %SYSTEMDRIVE%\*.log — удаление всех Log-файлов с системного диска (это файлы, в которых содержится история запуска программы, например. Во многих случаях они бесполезны). Большинство программ, кстати, ведут логи, со временем они разрастаются и могут отнять сотни МБ на диске;
- При помощи предыдущей команды можно удалить и другие файлы с системного диска (например, с расширением .tmp или .bak // достаточно поменять лишь концовку команды) — однако, будьте аккуратны, легко можно что-нибудь запороть!
*
📌 Вариант 5: форматирование диска/флешки (с ручным выбором буквы, имени и файловой системы)
Этот мини-скриптик может быть весьма полезный (например, если у вас «подвисает» проводник при обращении к флешки // или не запускается управление дисками).
*
Собственно, здесь все делается аналогично. Чтобы не удлинять процесс — вот вам сразу же сам скриптик (ссылка на RAR-архив с BAT-файлом), который «набросал» за 5 мин. (и еще 10 потратил на проверку 😉). Его текст (выделен коричневым):
@echo off
wmic logicaldisk get name, VolumeName, Size, FileSystem, NumberOfBlocks, description
set /p adisk=»Введите букву диска/флешки для форматирования: «
set /p named=»Введите имя для диска/флешки (любое, например, my_disk): «
set /p number=»Нажмите l — для формат. в NTFS, 2 — в FAT32, 3 — для в ExFAT. Ваше число: «if «%number%» == «1» (
format %adisk%: /FS:NTFS /Q /V:%named%
pause
exit /b
)if «%number%» == «2» (
format %adisk%: /FS:FAT32 /Q /V:%named%
pause
exit /b
)if «%number%» == «3» (
format %adisk%: /FS:ExFAT /Q /V:%named%
pause
exit /b
)
*
Он довольно простой, но будьте с ним аккуратны! Если укажите не ту букву накопителя — можно легко отформатировать не тот диск…
Как он работает (запускать под именем администратора):
- сначала он показывает информацию по всем подключенным дискам (и их буквы);
- далее запрашивает букву диска/флешки, которую нужно отформатировать (в своем примере я ввел G и нажал Enter);
- затем нужно ввести название диска — может быть любым (главное, чтобы название было коротким и лучше использовать только латиницу!). Я использовал my_flash;
- после выбрать файловую систему (их тут три), и нажать Enter;
- если все введено корректно — диск/флешка будет отформатирована! 👌
Пример работы BAT-файла для форматирования флешки
*
Как запускать BAT-файл от имени администратора (и по расписанию)
Способ 1
Самый простой вариант — нажать ПКМ по BAT-файлу и в контекстном меню выбрать «Запуск от имени администратора». См. скрин ниже. 👇
Нажать ПКМ по BAT-файлу
Способ 2
Можно нажать ПКМ по BAT-файлу и создать для него ярлык на рабочем столе. См. скрин ниже. 👇
Создание ярлыка к BAT-файлу
Далее в свойства ярлыка поставить галочку, что задача должна выполняться от имени администратора. Таким образом при каждом двойном клике по этому ярлыку — BAT’ник будет запускаться от админа. 👌
Свойства ярлыка — запускать с админ. правами
Способ 3
В планировщике заданий Windows (чтобы его открыть нажмите Win+R, и используйте команду control schedtasks) можно настроить запуск BAT-файла в нужное время и с нужными правами (т.е. автоматически). Это может быть весьма удобно, и серьезно упростить работу со множеством задач (очистка Windows от мусора, создание бэкапов и пр.) — точно никогда не забудете!
Более подробно о том, как создать задачу в планировщике заданий — я 📌 рассказывал в этой заметке.
Триггеры — когда выполнять задачу, расписание
*
Если при выполнении BAT-файла появятся крякозабры вместо русского текста 👌
Чаще всего это бывает с теми BAT, в которых есть русские символы и выставлена «неправильная» кодировка (например, они часто встречаются в пути к папке: «C:\Games\Лучшие игры»). Кстати, в этом случае BAT-файл работать не будет: после попытки выполнения операции с «крякозабрами» — появится ошибка и окно CMD будет закрыто…
*
Что можно сделать:
- первое: попробуйте в начало BAT-файла добавить код @chcp 1251 (и сохраните файл!);
- второе: установите блокнот Notepad++ и задействуйте OEM-866 кодировку в меню: «Кодировки/Кодировки/Кириллица/OEM-866» (предварительно, для бэкапа, скопируйте весь текст текущего документа в другой файл).
OEM 866 — пример, что нужно включить // программа Notepad++
*
👉 Доп. в помощь!
Вместо текста иероглифы, квадратики и крякозабры (в браузере, Word, тексте, окне Windows).
*
Дополнения по теме — приветствуются!
Удачи!
👋
Командная строка Windows предоставляет мощный инструмент для автоматизации задач и выполнения различных операций на вашем компьютере. С помощью скриптов, вы можете написать последовательность команд, которые будут выполняться автоматически и эффективно. Это особенно полезно, когда вам нужно выполнить одну и ту же операцию множество раз, или когда вы хотите создать сложный сценарий выполнения команд.
В этом руководстве мы рассмотрим основные концепции написания скриптов для командной строки Windows, и покажем вам, как создать свои первые скрипты. Мы начнем с простых примеров, постепенно углубляясь в более сложные сценарии. Вы узнаете о различных командах и операторах, и научитесь использовать их для автоматизации различных задач.
В ходе чтения этого руководства вы познакомитесь с такими концепциями как переменные, условные операторы, циклы, функции и многое другое. Вы научитесь использовать эти концепции совместно с командами командной строки Windows, что позволит вам записывать сложные скрипты для автоматизации повседневных задач.
Не волнуйтесь, если вы не имеете опыта программирования. Это руководство предназначено для начинающих и облегчит вам путь к созданию собственных скриптов для командной строки Windows.
Содержание
- Что такое скрипты для командной строки и как они работают
- Основы написания скриптов для командной строки
- Выбор языка программирования и настройка среды
Что такое скрипты для командной строки и как они работают
Скрипты для командной строки в Windows используются для автоматизации и упрощения повседневных задач, таких как копирование файлов, переименование папок, запуск программ и многое другое. С помощью скриптов можно написать набор команд, которые будут выполняться последовательно, что позволяет значительно сэкономить время и усилия пользователя.
Скрипты для командной строки в Windows работают на основе командного интерпретатора, такого как Command Prompt (cmd.exe) или PowerShell. Командный интерпретатор выполняет каждую команду в скрипте по очереди, следуя заданной последовательности. Это позволяет программистам и системным администраторам создавать сложные скрипты с условными операторами, циклами и другими контрольными конструкциями для автоматизации сложных задач.
Скрипты для командной строки в Windows могут быть написаны с использованием различных языков программирования, таких как Batch-файлы (.bat), VBScript (.vbs) или PowerShell-скрипты (.ps1). Каждый из этих языков имеет свои особенности и возможности, и выбор конкретного языка зависит от требований и опыта пользователя.
С помощью скриптов для командной строки в Windows вы можете автоматизировать широкий спектр задач, повышая свою продуктивность и сокращая время, затрачиваемое на выполнение рутинных операций. Изучение и использование скриптов для командной строки является важным навыком для программистов, системных администраторов и всех, кто работает с операционной системой Windows.
Основы написания скриптов для командной строки
Скрипты для командной строки Windows позволяют автоматизировать выполнение различных задач, что существенно упрощает работу со множеством файлов и папок, а также позволяет сэкономить время и усилия.
Для начала написания скриптов вам понадобится текстовый редактор, такой как Notepad++ или Sublime Text. Далее следует ознакомиться с основными командами операционной системы Windows, чтобы понять, какие команды можно использовать в скриптах.
Одной из самых часто используемых команд является команда cd (от англ. Change Directory). Данная команда позволяет перейти в другую директорию. Например, чтобы перейти в папку Documents, напишите следующий код:
cd Documents
Для создания новой папки используется команда mkdir (от англ. Make Directory). Например, чтобы создать папку с названием «NewFolder», напишите следующий код:
mkdir NewFolder
Для копирования файла или папки используется команда copy. Например, чтобы скопировать файл «file.txt» в папку «NewFolder», напишите следующий код:
copy file.txt NewFolder
Кроме того, вы можете использовать различные операторы, такие как операторы перенаправления вывода (> и >>), операторы циклов (for и while) и условные операторы (if и else), чтобы реализовать более сложные функции в своих скриптах.
После написания скрипта сохраните его с расширением .bat (например, script.bat) и запустите его в командной строке Windows. Вы увидите, как скрипт будет выполняться, выводя результаты в командную строку.
Запомните, что написание скриптов для командной строки может быть сложным на начальных этапах, поэтому рекомендуется практиковаться и искать дополнительную информацию для лучшего понимания и работы с командной строкой Windows.
Выбор языка программирования и настройка среды
Язык программирования | Описание |
---|---|
Batch-скриптинг | Простой язык программирования, который предоставляет базовые команды для автоматизации задач в Windows. Несложен в изучении и может быть полезен, если вам нужно выполнить простые задачи. |
PowerShell | Мощный и гибкий язык программирования, который предоставляет широкие возможности для работы с командной строкой. Он поддерживает множество команд и расширений, что делает его идеальным выбором для сложных задач. |
VBScript | Язык сценариев, основанный на Visual Basic, идеально подходит для автоматизации задач в Windows. Он поддерживает различные функции, объекты и методы, делая его легко расширяемым и гибким. |
Python | Универсальный язык программирования, широко используемый для различных задач, в том числе и для написания скриптов в Windows. Он имеет простой и понятный синтаксис, великолепную документацию и множество библиотек, что делает его привлекательным выбором для новичков и профессионалов. |
После выбора языка программирования вы должны настроить среду разработки, чтобы быть готовыми к написанию и выполнению скриптов. В зависимости от выбранного языка, вы можете использовать различные инструменты и редакторы кода. Некоторые из них включают:
- Command Prompt — стандартная командная строка Windows, которая может использоваться для написания и выполнения скриптов на Batch-скриптинге и PowerShell.
- Windows PowerShell ISE — интегрированная среда разработки PowerShell, предоставляющая более удобный интерфейс для написания и отладки скриптов.
- Notepad++ — легкий текстовый редактор, который поддерживает множество языков программирования, включая Batch-скриптинг, PowerShell и VBScript.
- Visual Studio Code — мощный и расширяемый редактор кода, который поддерживает различные языки программирования, включая PowerShell и Python.
Выбор среды разработки зависит от ваших предпочтений и опыта в программировании. Вы можете выбрать любую из предложенных опций или использовать другую среду разработки, которая лучше подходит для ваших потребностей.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
1
branch
0
tags
Code
-
Use Git or checkout with SVN using the web URL.
-
Open with GitHub Desktop
-
Download ZIP
Latest commit
Files
Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
CMD SCRIPTS ads.cmd List alternate data streams. apm.cmd Arbitrary precision math. BatteryGraphic.cmd Displays a bar representing remaining battery capacity. body.cmd Print the portion of a file which begins and ends with the specified text. CompareProcesses.cmd Show CPU times of subroutines or scripts. cpuLoadChart.cmd Shows a graphic color chart of CPU load. cpuLoadGraphic.cmd Shows a bar representing CPU load. DecodeUID.cmd Decode a UID. deZero.cmd A subroutine which removes leading zeroes from a number. draw.cmd Draw color ASCII art files. ed.cmd An EDLIN style text editor. [REPAIRED] FileAge.cmd Lists files with an age matching the given criteria. Filetime.cmd Calculates the 64-bit integer NTFS filetime of the file. FormatNumber.cmd A subroutine which formats numbers with commas. getVolumeRoot.cmd Find the mount point of a volume by name. hed.cmd An EDLIN style hex editor. hex.cmd Prints a hex dump of a file or stream. hiddenArguments.cmd Hide arguments in subroutine label. ipv6.cmd IPv4/IPv6 translation routines. MathToy.cmd Commnd line math exercises. obfuscate.cmd Renders a text file unreadable without the correct key. See also randomizeKey.cmd. parseArgs.cmd Demonstrates a simply configured command line parsing routine. PathEdit.cmd Interactive PATH editor. PathList.cmd Prints the path as a list. PrepMessage.cmd Prepare an Internet message body with contained scripts. ProgBar.cmd A algorithm which shows a graphic progress bar. RandomizeKey.cmd Randomizes a key for use with obfuscate.cmd above. ReadShortcut.cmd Displays a disassembly of a shortcut file. RecycleBin.cmd Enumerates the recycle bin, deletes items in it, or restores items to their original location. replace.cmd Replace text in strings. rudeGraph.cmd A rudimentary graph demonstration. toLowercase.cmd A subroutine which converts a string to lower case. toTitlecase.cmd A subroutine which converts a string to title case. toUppercase.cmd A subroutine which converts a string to upper case. wifiGraphic.cmd Shows a bar representing Wireless signal strength. Wrap_Demo.cmd A console word wrap routine. xmlParse.cmd Push and pull parse XML files. ZIP ARCHIVE RELATED SCRIPTS selfExtractingZip.cmd A script which can be used as part of a self-extracting ZIP archive. unZip.cmd A subroutine which extracts stored files from a ZIP archive. zip.cmd A subroutine which stores files to a ZIP archive. ZipUnZipDemo.cmd A demonstration of the zip and unZip subroutines.
Доброго дня!
На меня тут недавно «наехали» (в хорошем смысле 😊): «Дескать… говоришь вот создать BAT-файл*, а как это сделать-то? Учишь непонятно чему… лишь плохому…».
* Для справки.
BAT-файл — текстовый файл со списком команд. При его запуске (открытии) — интерпретатор ОС выполняет их одну за одной. Это очень удобно для выполнения повторяющихся задач (например, если вам нужно запускать каждый раз игру с высоким приоритетом, или чистить определенную папку, и др.).
*
Собственно, в рамках сегодняшней статьи решил исправиться — кратко показать, как их создавать, и дать несколько примеров для решения самых популярных рутинных задач (довольно часто для этого BAT’ники и используют).
Думаю, что многие пользователи смогут слегка до-корректировать мои примеры и создадут для себя вполне рабочие BAT-файлы. 😉
Итак…
*
Содержание статьи
- 1 Создание BAT файлов: на примерах
- 1.1 Основы! С чего начать (Вариант 1: проверка пинга)
- 1.2 Вариант 2: запуск игры с высоким приоритетом + откл. авто-поиска Wi-Fi сетей
- 1.3 Вариант 3: создание резервной копий файлов и точки восстановления в Windows
- 1.4 Вариант 4: очистка временных папок
- 1.5 📌 Вариант 5: форматирование диска/флешки (с ручным выбором буквы, имени и файловой системы)
- 1.6 Как запускать BAT-файл от имени администратора (и по расписанию)
- 1.7 Если при выполнении BAT-файла появятся крякозабры вместо русского текста 👌
→ Задать вопрос | дополнить
Создание BAT файлов: на примерах
Основы! С чего начать (Вариант 1: проверка пинга)
Для начала покажу, как создать простейший BAT-файл для проверки пинга (для общего понимания процесса…).
ШАГ 1
Первым делом необходимо создать самый обычный текстовый файл (такой же, как вы создаете в блокноте). Достаточно кликнуть правой кнопкой мыши по любому свободному месту на рабочем столе и выбрать в меню «Текстовый файл» (Text Document). 👇
Создаем текстовый документ
ШАГ 2
Название файла у этого текстового документа может быть любым (но лучше использовать англ. символы).
Далее следует открыть этот файл и вписать в него нужные команды. В своем примере я впишу только одну (если вы делаете это впервые — рекомендую повторить ее вместе со мной):
ping ya.ru -t
Разумеется, файл нужно сохранить. Кстати, вместо ya.ru можно указать google.ru или любой другой адрес (обычно, многие указывают свой игровой сервер, и запускают этот BAT’ник, когда в игре наблюдаются лаги).
Копируем в него нашу команду и сохраняем файл.
ШАГ 3
Затем обратите внимание на расширение файла — у текстового файла оно «.TXT». Кстати, если у вас не отображаются расширения — можете 📌 прочитать эту заметку или просто введите в командной строке две вот эти команды (последовательно):
reg add «HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced» /v HideFileExt /t REG_DWORD /d 00000000 /f
taskkill /F /IM explorer.exe & start explorer
*
Нам нужно переименовать файл так, чтобы вместо «.TXT» — было новое расширение «.BAT»!
Меняем расширение TXT на BAT
ШАГ 4
Теперь достаточно кликнуть по «нашему» файлу правой кнопкой мыши и запустить его от имени администратора — автоматически появится окно командной строки с проверкой пинга. Удобно? Вполне! 👌
Идет проверка пинга!
ШАГ 5
Чтобы отредактировать BAT-файл (и каждый раз не переименовывать его туда-сюда) — рекомендую вам установить блокнот Notepad++ (уже ранее добавлял его в подборку).
После установки Notepad++ — достаточно кликнуть ПКМ по BAT-файлу — и в появившемся меню выбрать опцию редактирования…
Редактировать BAT
*
Вариант 2: запуск игры с высоким приоритетом + откл. авто-поиска Wi-Fi сетей
Этот скрипт рекомендуется попробовать пользователям ноутбуков, кто играет в сетевые игры.
*
Этот BAT-файл я создал на одном своем рабочем ноутбуке (он уже довольно «старый», и нередко притормаживал при запуске игр). Однако, благодаря нескольким строкам кода — удается вполне комфортно играть. 👌
Что за строки нужно добавить в BAT (выделены коричневым):
cmd.exe /c start /high /D «C:GamesCounter-Strike 1.6» hl.exe -game cstrike -appid 10 -nojoy -noipx -noforcemparms -noforcemaccel
netsh wlan set autoconfig enabled=no interface=»Wi-Fi»
pause
netsh wlan set autoconfig enabled=yes interface=»Wi-Fi»
pause
*
Что он делает:
- запускает игру CS с высоким приоритетом (это позволяет снизить кол-во притормаживаний в играх). Разумеется, вместо строки «C:GamesCounter-Strike 1.6» hl.exe — вы можете указать свою игру и ее расположение;
- отключает авто-поиск Wi-Fi сетей (это снижаем пинг и увел. скорость сети // правда не дает подключаться к другим Wi-Fi сетям). Кстати, вместо «Wi-Fi» — нужно указать название своего адаптера (посмотрите так: нажмите Win+R, и используйте команду ncpa.cpl);
Название адаптера
- далее идет пауза — скрипт будет ждать нажатия какой-нибудь клавиши (примечание: т.к. у нас будет запущена игра — это окно скроется из вида, и оно не будет нам мешать);
- когда через часик-другой игра будет закрыта, — вы увидите окно командной строки и нажмете какую-нибудь клавишу — будет снова включен авто-поиск Wi-Fi сетей. Удобно? 😉
*
Вариант 3: создание резервной копий файлов и точки восстановления в Windows
Приведу наиболее простую и довольно надежную команду для создания резервных копий файлов и папок:
xcopy C:Games D:backup /f /i /y /s
*
Она копирует один каталог в другой (просто, без вопросов и расспросов). Если вам нужно скопировать 2 или 3 (или более) каталогов — просто создайте несколько подобных строк.
Расшифровка:
- C:Games — тот каталог, который будем копировать (все подкаталоги и файлы из них тоже будут скопированы);
- D:backup — тот каталог, куда будет всё скопировано;
- /f — выводит имена файлов (чтобы вы видели, что происходит);
- /i — создает новый каталог, если на диске «D:» нет каталога «backup» (см. строку выше);
- /y — перезаписывает старые файлы новыми;
- /s — копирует каталоги и подкаталоги, если в них есть какие-то файлы.
*
Для создания точки восстановления можно использовать следующий код:
wmic.exe /Namespace:\rootdefault Path SystemRestore Call CreateRestorePoint «MyRestorePoint», 100, 7
pause
После запуска подобного BAT-файла — точка восстановления будет создана в авто-режиме! Это очень удобно делать перед установкой нового софта, железа и пр. (чтобы проверить есть ли точка — нажмите Win+R, и используйте команду: rstrui). 👇
Если точки нет (как в моем примере ниже) — прочитайте это!
Точки восстановления создаются!
*
Вариант 4: очистка временных папок
Здесь есть несколько вариантов «подхода». Я приведу один из самых простейших, см. 4 строки ниже. 😉
del /q /f /s %WINDIR%Temp*.*
del /q /f /s %SYSTEMDRIVE%Temp*.*
del /q /f /s %Tmp%*.*
del /q /f /s %Temp%*.*
📌 Что это означает:
- BAT-файл с этими строками чистит временные папки в Windows (как правило, в них скапливается один «мусор», которые занимает лишь место на диске);
- %WINDIR%Temp — это папка «C:WindowsTemp»;
- %SYSTEMDRIVE% — это системный диск «C:»;
- *.* — маска для удаления всех файлов;
- /q /f /s — удаление всех каталогов и подкаталогов (без вопросов).
*
📌 Что можно еще добавить в наш скрипт:
- del /q /f /s %WINDIR%Prefetch*.* — эта строка очистит папку Prefetch (в ней сохраняется кэш от различного софта. При удалении той или иной программы — кэш в папке остается, и со временем — ее размер может разрастись);
- del /q /f /s %SYSTEMDRIVE%*.log — удаление всех Log-файлов с системного диска (это файлы, в которых содержится история запуска программы, например. Во многих случаях они бесполезны). Большинство программ, кстати, ведут логи, со временем они разрастаются и могут отнять сотни МБ на диске;
- При помощи предыдущей команды можно удалить и другие файлы с системного диска (например, с расширением .tmp или .bak // достаточно поменять лишь концовку команды) — однако, будьте аккуратны, легко можно что-нибудь запороть!
*
📌 Вариант 5: форматирование диска/флешки (с ручным выбором буквы, имени и файловой системы)
Этот мини-скриптик может быть весьма полезный (например, если у вас «подвисает» проводник при обращении к флешки // или не запускается управление дисками).
*
Собственно, здесь все делается аналогично. Чтобы не удлинять процесс — вот вам сразу же сам скриптик (ссылка на RAR-архив с BAT-файлом), который «набросал» за 5 мин. (и еще 10 потратил на проверку 😉). Его текст (выделен коричневым):
@echo off
wmic logicaldisk get name, VolumeName, Size, FileSystem, NumberOfBlocks, description
set /p adisk=»Введите букву диска/флешки для форматирования: «
set /p named=»Введите имя для диска/флешки (любое, например, my_disk): «
set /p number=»Нажмите l — для формат. в NTFS, 2 — в FAT32, 3 — для в ExFAT. Ваше число: «if «%number%» == «1» (
format %adisk%: /FS:NTFS /Q /V:%named%
pause
exit /b
)if «%number%» == «2» (
format %adisk%: /FS:FAT32 /Q /V:%named%
pause
exit /b
)if «%number%» == «3» (
format %adisk%: /FS:ExFAT /Q /V:%named%
pause
exit /b
)
*
Он довольно простой, но будьте с ним аккуратны! Если укажите не ту букву накопителя — можно легко отформатировать не тот диск…
Как он работает (запускать под именем администратора):
- сначала он показывает информацию по всем подключенным дискам (и их буквы);
- далее запрашивает букву диска/флешки, которую нужно отформатировать (в своем примере я ввел G и нажал Enter);
- затем нужно ввести название диска — может быть любым (главное, чтобы название было коротким и лучше использовать только латиницу!). Я использовал my_flash;
- после выбрать файловую систему (их тут три), и нажать Enter;
- если все введено корректно — диск/флешка будет отформатирована! 👌
Пример работы BAT-файла для форматирования флешки
*
Как запускать BAT-файл от имени администратора (и по расписанию)
Способ 1
Самый простой вариант — нажать ПКМ по BAT-файлу и в контекстном меню выбрать «Запуск от имени администратора». См. скрин ниже. 👇
Нажать ПКМ по BAT-файлу
Способ 2
Можно нажать ПКМ по BAT-файлу и создать для него ярлык на рабочем столе. См. скрин ниже. 👇
Создание ярлыка к BAT-файлу
Далее в свойства ярлыка поставить галочку, что задача должна выполняться от имени администратора. Таким образом при каждом двойном клике по этому ярлыку — BAT’ник будет запускаться от админа. 👌
Свойства ярлыка — запускать с админ. правами
Способ 3
В планировщике заданий Windows (чтобы его открыть нажмите Win+R, и используйте команду control schedtasks) можно настроить запуск BAT-файла в нужное время и с нужными правами (т.е. автоматически). Это может быть весьма удобно, и серьезно упростить работу со множеством задач (очистка Windows от мусора, создание бэкапов и пр.) — точно никогда не забудете!
Более подробно о том, как создать задачу в планировщике заданий — я 📌 рассказывал в этой заметке.
Триггеры — когда выполнять задачу, расписание
*
Если при выполнении BAT-файла появятся крякозабры вместо русского текста 👌
Чаще всего это бывает с теми BAT, в которых есть русские символы и выставлена «неправильная» кодировка (например, они часто встречаются в пути к папке: «C:GamesЛучшие игры»). Кстати, в этом случае BAT-файл работать не будет: после попытки выполнения операции с «крякозабрами» — появится ошибка и окно CMD будет закрыто…
*
Что можно сделать:
- первое: попробуйте в начало BAT-файла добавить код @chcp 1251 (и сохраните файл!);
- второе: установите блокнот Notepad++ и задействуйте OEM-866 кодировку в меню: «Кодировки/Кодировки/Кириллица/OEM-866» (предварительно, для бэкапа, скопируйте весь текст текущего документа в другой файл).
OEM 866 — пример, что нужно включить // программа Notepad++
*
👉 Доп. в помощь!
Вместо текста иероглифы, квадратики и крякозабры (в браузере, Word, тексте, окне Windows).
*
Дополнения по теме — приветствуются!
Удачи!
👋
Полезный софт:
- Видео-Монтаж
Отличное ПО для создания своих первых видеороликов (все действия идут по шагам!).
Видео сделает даже новичок!
- Ускоритель компьютера
Программа для очистки Windows от «мусора» (удаляет временные файлы, ускоряет систему, оптимизирует реестр).
Вам знаком по фильмам образ хакера, который нажимает клавиши на клавиатуре и что-то печатает на черном экране? Хотели бы выглядеть так же круто? Тогда вам надо для начала разобраться в том, что такое сценарии командной строки.
Есть два способа взаимодействия с любой операционной системой:
- Графический пользовательский интерфейс (GUI)
- Интерфейс командной строки (CLI)
GUI — это то, что большинство из нас использует. В GUI есть графическое представление, а взаимодействие с операционной системой осуществляется при помощи мыши.
CLI — это черный экран, терминал, который заменяет графический интерфейс. В него пользователь может ввести любые свои команды.
Вам наверняка интересно, какой из этих способов взаимодействия с ОС эффективнее. Ответ однозначен — CLI. Именно тут вы получаете больше свободы и доступа: можете вводить свои собственные индивидуальные команды, получать допуск к чему угодно и делать что угодно.
Что такое командная строка?
Когда вы вводите свои команды в терминал, должна быть какая-то программа, которая принимает эти команды, запускает их и выводит на экран, верно? Так вот, название этой программы — Shell, командная строка.
Сегодня доступны различные типы командной строки, такие как Bourne shell (sh), C shell (csh), TC shell (tcsh), Korn shell (ksh), Bourne Again SHell (bash). Но широко используются только Bourne shell (sh) и Bourne Again SHell (bash). Bash похожа на обновленную версию sh. В Windows есть PowerShell, хотя скрипты командной строки более популярны в Linux.
Что такое сценарий?
Работая на компьютере, вы постоянно нуждаетесь в повторении каких либо действий. Каждый раз вводить команды для них было бы утомительно, поэтому вы можете объединить все эти команды в один файл, а затем выполнить этот файл для автоматизации задач/действий. Это и называется “Сценарий”. Расширение, используемое для файла — ‘.sh’ eg. test. sh
Таким образом, все скрипты — это просто совокупность необходимых команд. Сценарий подчиняется логике формирования нормального рабочего процесса для автоматизации задач.
Теперь рассмотрим примеры скриптов командной строки. Но сначала познакомимся с некоторыми базовыми командами Linux. Просмотрите приведенные ниже команды:
Pwd : вывести рабочий каталог
mkdir : создать каталог
cd : изменить каталог
Ls : перечислить компьютерные файлы
ls -la : перечислить все файлы, включая скрытые
Ls -L : перечислить файлы с указанием размеров и других деталей
touch : создать пустой файл
mv : переместить/переименовать файл
cp : скопировать файл
cp -r : скопировать каталог рекурсивно
rm : удалить файл
rm -r : удалить каталог рекурсивно
more : прочитать весь контент файла
tail : прочитать последние 10 строк (обычно для файлов журнала)
grep : искать графическое изображение или текст внутри файла
history : вывести историю недавно введенных команд
top : перечислить 10 процессов, максимально использующих память
comm : сравнить два файла построчно
df & du : проверить объемы свободного и использованного пространства на диске
date : показать текущую дату/время
uptime : определить, как долго система была активна (после запуска)
finger user : показать информацию о пользователе
Скриптовый язык для написания командной строки похож на любой из языков программирования. В нем используется та же логика, что и в любом другом языке программирования.
В нем можно прописать функции, if-elif-else-условия, оператор case и, конечно, циклы.
Теперь рассмотрим два варианта использования сценария командной строки. Попутно поучимся организовывать скрипты, выражая в них определенную логику.
1. Создание функции, которая принимает входные данные от пользователя в виде имени и передает ему приветствие.
#!/bin/bash
echo "Hey, there! What is your name?"
read name
echo "Nice to meet you, $name"
Комбинация символов #!
известна как SheBang (шебанг), или HashBang (хэш-банг). Она применяется для указания интерпретатора, который должна использовать операционная система при запуске скрипта. В нашем примере #!
указывает: /bin/bash — это путь для bash.
Затем используем echo
(эхо), чтобы спросить имя пользователя, а потом — read
(читать), чтобы получить ввод от пользователя.
И, наконец, печатаем сообщение “Приятно познакомиться, $name”. Здесь $
используется, чтобы сообщить скрипту, что name
является переменной, а не строкой.
2. Постановка задачи: создать IP-развертку, которая будет сканировать IP-адреса всех активных устройств в сети
Для этого нам просто нужно запустить цикл for
и пропинговать каждый IP-адрес в данной сети, и если этот IP-адрес активен, то вывод будет примерно таким: “64 bytes from 200-147-67-142.static.uol.com.br (200.147.67.142): icmp_seq=20 ttl=241 time=253 ms
”
Поскольку в действительных IP-адресах 64 байта, мы используем эту информацию для команды grep
, чтобы выполнить вывод действительных IP-адресов:
#!/bin/bashif ["$1" == ""]
then
echo "Oops! You forgot an IP Address"
echo "Syntax: ./ipsweep.sh" 192.168.4"
else
for ip in `seq 1 254`; do
ping -c 1 $1.$ip | grep "64 bytes" | cut -d " " -f 4 | tr -d ":" &
done
fi
Затем с помощью команды cut
выберем четвертый номер поля из приведенного выше предложения, а именно (200.147.67.142):
После этого посредством команды tr
избавимся от двоеточия (:
) в конце IP.
И, наконец, используем &
, чтобы все эти процессы выполнялись одновременно в фоновом режиме, причем быстро.
Если вы не станете использовать &
, то процесс будет очень медленным. Можете сами почувствовать разницу, сначала запустив скрипт без &
, а затем с ним.
Теперь запускаем эти команды в цикле for
, который выполняется внутри условия if-else
, чтобы проверить, предоставил ли пользователь поле диапазона сети или нет. Если диапазон не указан, то скрипт выведет на терминал “Oops! You forgot an IP Address” (“Вы забыли IP-адрес”) с правильным синтаксисом для запуска скрипта.
И это все. Вы успешно прошли урок по сценарию командной строки! Надеюсь, что теперь у вас есть маломальское представление о том, что такое скрипты командной строки, или, по крайней мере, вам захотелось узнать о них больше.
Читайте также:
- Продвинутый CLI: команды, которые должен знать каждый разработчик
- Функциональные и гибкие Shell скрипты
- Моя среда разработки в Linux
Читайте нас в Telegram, VK и Яндекс.Дзен
Перевод статьи Tania Islam: Shell Scripting: Getting started with shell scripting
Содержание:
- 1 Как создать файл с расширением BAT
- 2 Основные команды, синтаксис и примеры использования батников
- 3 Запуск bat-файлов от имени администратора и по расписанию, скрытый запуск bat
Использование графического интерфейса в операционных системах сегодня представляется чем-то само собой разумеющимся и совершенно естественным, но так было не всегда. Первая операционная система MS DOS, разработанная компанией Microsoft, не имела GUI, а управление выполнялось посредством ввода текстовых команд. С тех пор минуло без малого 40 лет, однако скриптовый язык командной строки по-прежнему пользуется популярностью, причём не только в среде разработчиков.
Командная строка не столь удобна, зато с её помощью можно выполнять недоступны из GUI операции. С другой стороны, запускать каждый раз консоль, вводить в неё одну за другой команды – всё это сильно замедляет работу. Впрочем, можно существенно упростить задачу, создав бат-файл или попросту батник – текстовый файл с расширением BAT, содержащий список инструкций, обрабатываемых командным интерпретатором CMD. Используются такие файлы для автоматизации разных задач, например, для удаления временных файлов по расписанию или запуска программ.
Итак, как создать 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». Несмотря на то, что с момента издания книги прошло более десяти лет, содержащаяся в ней информация до сих пор актуальна.
Windows 10 предусматривает гибкую настройку и управление системой с помощью командной строки. Она позволяет пользователю посредством команд воспользоваться той или иной функцией. Например, существует команда SFC /scannow, позволяющая производить сканирование и мгновенное исправление системных файлов. Подобных функций десятки, но не все о них знают. Однако некоторые из них бывают очень даже полезными при постоянном использовании ПК.
Сегодня мы поговорим подробнее об основных командах для командной строки в Windows 10.
Открываем командную строку
Для пользователей Windows 10 в командной строке предоставлено огромное количество команд, однако не все из них используются даже опытными юзерами. Поэтому мы рассмотрим с вами только основные команды, которые могут пригодиться в разных случаях. Но для начала я покажу вам, каким способом можно запустить командную строку и как ею пользоваться.
Самый простой способ запуска командной строки – это ввод специальной команды в окне «Выполнить». Для этого воспользуемся следующей инструкцией:
- Используем комбинацию клавиш «Win+R», где Win – это клавиша, расположенная в нижней левой части клавиатуры с логотипом Windows. Далее вводим команду cmd и нажимаем на клавишу «Enter».
Запускаем командную строку
- В отобразившемся окне перед нами открывается командная строка, которая уже готова к получению команд от пользователя.
Командная строка включает в себя простой интерфейс и мощный функционал
Также вы можете запустить командную строку и через меню «Пуск». Для этого достаточно кликнуть правой кнопкой мыши по пуску и выбрать «Командная строка» либо «Windows PowerShell». Тут же можно открыть программу от имени администратора.
Давайте теперь попробуем воспользоваться командной строкой на примере очень простой команды: control. Она позволяет запускать панель управления на компьютере.
Чтобы использовать команду, необходимо ввести нужное слово или набор слов и символов, а затем нажать на кнопку «Enter»
С вводом команд разобрались, теперь можно приступить к просмотру основных команд. Начнем мы с тех, которые предназначены для быстрого запуска стандартных программ.
Запуск основных программ и утилит системы
Нижеуказанный список не всем будет полезен, но там есть команды, без которых пользователю не обойтись. Например, обратите внимание на такие команды как dxdiag и regedit. С помощью них запускаются важные утилиты, которые просто так вы не сможете найти в операционной системе.
- appwiz.cpl – утилита «Программы и компоненты»
- certmgr.msc – окно для управления сертификатами системы
- control – «Панель управления»
- control printers – окно для управления устройствами и принтерами
- control userpasswords2 – «Учетные записи пользователя»
- compmgmt.msc – «Управление компьютером»
- devmgmt.msc – «Диспетчер устройств»
- dfrgui – «Оптимизация дисков»
- diskmgmt.msc – «Управление дисками»
- dxdiag – запуск средства диагностики DirectX
- hdwwiz.cpl – еще одна команда для вызова окна «Диспетчер устройств»
- firewall.cpl – Брандмауэр Защитника Windows
- gpedit.msc – «Редактор локальной групповой политики»
- lusrmgr.msc – «Локальные пользователи и группы»
- mblctr – «Центр мобильности»
- mmc – консоль управления системными оснастками
- msconfig – «Конфигурация системы»
- odbcad32 – панель администрирования источника данных ODBC
- perfmon.msc – «Системный монитор», предоставляющий возможность просмотра изменений в производительности компьютера и системы
- presentationsettings – «Параметры режима презентации»
- powershell – PowerShell (та же командная строка, но с большим функционалом)
- powershell_ise – «Интегрированная среда сценариев» оболочки PowerShell
- regedit – «Редактор реестра»
- resmon – «Монитор ресурсов»
- rsop.msc – «Результирующая политика»
- shrpubw – «Мастер создания общих ресурсов»
- secpol.msc – «Локальная политика безопасности»
- services.msc – средство управления службами операционной системы
- taskmgr – «Диспетчер задач»
- taskschd.msc – «Планировщик заданий»
Управление и настройка операционной системы
В данном разделе будет рассказано о командах, с помощью которых можно выполнять различные действия в операционной системе.
- сomputerdefaults – определение параметров программ по умолчанию
- control admintools – открытие папки со средствами администрирования
- date – отображение и изменение текущей даты в командной строке
- displayswitch – изменение подключенных экранов
- dpiscaling – параметры дисплея
- eventvwr.msc – просмотр журнала событий
- fsmgmt.msc – средство работы с общими папками
- fsquirt – отправка и прием файлов по Bluetooth
- intl.cpl – региональные настройки
- joy.cpl – настройка внешних игровых устройств
- logoff – выход из системы
- lpksetup – установка и удаление языков интерфейса
- mobsync – запуск окна «Центр синхронизации»
- msdt – официальное средство диагностики службы поддержки Microsoft
- msra – вызов утилиты «Удаленный помощник Windows»
- msinfo32 – просмотр сведений об операционной системе
- mstsc – подключение к удаленному Рабочему столу
- napclcfg.msc – настройка конфигурации операционной системы
- netplwiz – панель управления «Учетными записями пользователей»
- optionalfeatures – включение и отключение стандартных компонентов операционной системы
- shutdown – завершение работы компьютера
- sigverif – средство проверки подлинности файлов
- sndvol – запуск микшера громкости
- slui – средство активации лицензии ОС Windows
- sysdm.cpl – вызов окна «Свойства системы»
- systempropertiesperformance – «Параметры быстродействия»
- systempropertiesdataexecutionprevention – запуск службы DEP, компонента «Параметров быстродействия» ОС
- timedate.cpl – изменение даты и времени
- tpm.msc – «Управление доверенным платформенным модулем TPM на локальном компьютере»
- useraccountcontrolsettings – «Параметры управления учетными записями пользователей»
- utilman – управление «Специальными возможностями» в разделе «Параметров» операционной системы
- ver – показывает сведения о текущей версии ОС Windows.
- wf.msc – активация режима повышенной безопасности в стандартном Брандмауэре ОС Windows
- winver – просмотр общих сведений об операционной системе и ее версии
- WMIwscui.cpl – переход к Центру поддержки операционной системы
- wscript – «Параметры сервера сценария» ОС Windows
- wusa – «Автономный установщик обновлений Windows»
Настройки периферийных устройств
Есть также и немного команд, предназначенных для вызова стандартных программ и элементов управления оборудования, подключенного к компьютеру или ноутбуку.
- main.cpl – настройка мыши
- mmsys.cpl – панель настройки звука
- printui – «Пользовательский интерфейс принтера»
- printbrmui – средство переноса принтера, предоставляющее возможность экспорта и импорта программных компонентов и драйверов оборудования
- printmanagement.msc – «Управление печатью»
- sysedit – редактирование системных файлов с расширениями INI и SYS (Boot.ini, Config.sys, Win.ini и др.)
- tabcal – средство калибровки дигитайзера
- tabletpc.cpl – просмотр и настройка свойств планшета и пера
- verifier – «Диспетчер проверки драйверов»
- wfs – «Факсы и сканирование»
- wmimgmt.msc – вызов «Элемента управления WMI» стандартной консоли
Работа с файлами и подключенными накопителями
Нижеуказанные команды предназначены для работы с файлами, папками, дисковыми устройствами и накопителями. Некоторые из них работают только внутри предварительно вызванных консольных утилит. Для получения более подробных сведений по ним вы всегда можете обратиться к справке, воспользовавшись командой help.
Вводим help и нажимаем на клавишу «Enter»
- assoc — выводит и позволяет изменять связь между расширениями имени и типов того или иного пакетного файла
- attrib – редактирование атрибутов предварительно обозначенного файла или папки
- bcdboot – создание и/или восстановление системного раздела
- cd – просмотр наименования текущей папки или переход в другую
- chdir – просмотр папки или переход к другой
- chkdsk – проверка жестких и твердотельных дисков, а также подключенных к ПК внешних накопителей
- cleanmgr – инструмент «Очистка диска»
- convert – преобразование файловой системы тома
- copy – копирование файлов (с указанием конечного каталога)
- del – удаление выбранных файлов
- dir – просмотр файлов и папок по указанному пути
- diskcopm – позволит сравнить содержимое двух гибких дисков
- dickcopy – полностью скопирует содержимое одного гибкого диска на любой другой (пакетное копирование)
- diskpart – консольная утилита для работы с дисками (открывается в отдельном окне «Командной строки», для просмотра поддерживаемых команд обратитесь к справке – help)
erase – удаление одного или нескольких файлов - fc – сравнение файлов и поиск различий
- format – форматирование локальных дисков Windows
- label – удаление, изменение, а также создание меток тома для дисков
- md – создание новой папки
- mdsched – проверка оперативной памяти
- move – перемещение файлов по заданному пути
- ntmsmgr.msc – средство работы с внешними накопителями
- recdisc – создание диска восстановления операционной системы (работает только с оптическими накопителями)
- recover – восстановление данных
- rekeywiz – инструмент для шифрования данных («Шифрующая файловая система (EFS)»)
- RSoPrstrui – Настройка средства «Восстановление системы»
- sdclt – «Резервное копирование и восстановление»
- sfc /scannow – проверка целостности системных файлов с возможностью их восстановления
- tree – графическое отображение структуры каталогов диска или папки
- verify – анализ правильности записи файлов на диск
- vol – отображает собственную метку и серийный номер тома для диска
Работа внутри командной строки
Если вы захотите изменить цвет, почистить содержимое командной строки или воспользоваться внутренними настройками, то вы также можете использовать команды. Например, если вписать команду color и выбрать специальное кодовое слово, то изменится весь фон и цвет текста командной строки.
Команда color fc придает утилите бледно-розовый оттенок
- cls – очистка содержимого экрана командной строки
- color – изменение фона и цвета
- exit – выход из командной строки
- help – отображение полного списка команд командной строки
- prompt – изменяет слева от вводимого текста название на любое другое
Теперь вместо <C:UsersИлья> будет отображаться слово «hello»
Сеть и интернет
Немного команд для настройки сети и интернета:
- control netconnections – просмотр и настройка доступных «Сетевых подключений»
- inetcpl.cpl – переход к свойствам интернета
- NAPncpa.cpl – аналог первой команды, предоставляющий возможность настройки сетевых подключений
- telephon.cpl – настройка модемного подключения к интернету
Заключение
Подытожив, хочется сказать, что не нужно запоминать какую-либо команду дословно. Ознакомления с ними более чем достаточно. Ну а если вам понадобится воспользоваться какой-либо функцией на компьютере с Windows 10, то вспомните про командную строку и посмотрите вышеперечисленные команды – уверен, вы найдете то, что нужно. Если же вы хотите более обширно изучить командную строку, то рекомендую почитать профессиональную литературу, которую легко найти в Интернете.
Post Views: 19 046
If you have every used the Command Line, or CMD, interface in Windows, you probably have some idea of the powerful things it can do. Creating your own CMD scripts, you can do even more, but faster.
A CMD script does the same thing as if you typed commands into the CMD window. If you want to do something on a regular basis, such as telling Windows to turn off your computer after an hour, you can write a script and then you can activate the script whenever you want to run it.
Understanding CMD and Written Commands
In the early days of personal computing almost everything was done by typing command_s into a command line interface. If you wanted to open a program, you had to type the name of the program into the command line. Today, you can simply click or touch an icon on your screen to perform most actions. But Windows still accepts type-written commands in the CMD utility. You can write commands_ to open programs, add or change account permissions, back up files or get information about your computer using the CMD window.
Understanding CMD Scripts
The Command Prompt utility in Windows can be opened at any time, simply by typing «cmd» in the Windows Start menu. Here, you can type all sorts of commands to open programs, change settings and make tweaks to how Windows and its programs perform. In Microsoft’s long history of operating systems, CMD i_s a relative newcomer. In MS-DOS, before Windows was released, when you wanted to run a script, you would save it as a .bat file. While you can still save files with that extension today, most people use the .cmd extension._
Using a Script CMD to Open Notepad
To create and save a CMD switch, it’s best to use a basic text editor. Using a word processor like Microsoft Word makes saving the file a hassle. Notepad is much easier to use. So to demonstrate how CMD works, let’s open use it to open Notepad.
- Type CMD in the Windows Start menu and press Enter to open CMD.exe.
- Change the directory from your current username folder to the base directory by typing «cd» and pressing Enter. It should now read «C:>» before the blinking cursor.
- Type the following line and press Enter: start «c:windowssystem32» notepad.exe
As soon as you press Enter, you will see Notepad open. The command you entered has told Windows to start the notepad.exe program, which is located in the system32 folder, which is inside the Windows folder, on the C: drive. CMD commands are not case-sensitive so you can use lowercase or uppercase letters interchangeably.
Creating Your First Script CMD File
Now that Notepad is open, create your first CMD script file by typing the same line you used in the CMD window into notepad: start «c:windowssystem32» notepad.exe
Save the batch file to your desktop by selecting «Save As» from the File menu. Name the file «firstscript.cmd» and click «Save.» Notepad script commands must be saved with the .cmd extension, rather than the default .txt extension.
Double-click the new CMD file on your desktop. You will see the CMD window open for a fraction of a second and then close as Notepad is launched.
This is hardly a useful script, since a desktop shortcut does the same thing. To create something more useful, let’s edit the file so that it creates a new text file on your desktop listing all of your programs.
Using Echo and Echo Off
While the CMD window wasn’t open long enough to see it, by default it will always display the text that was entered in the CMD file when it runs. For longer scripts, this can be a nuisance, so it’s generally good form to turn this off by using the Echo Off command in the first line of the CMD file. By itself, Echo Off disables the display of any text that follows it. To make the Echo Off command apply to itself, put an @ symbol in front of it. Thus, your two-line CMD script would be:
@echo off
start «c:windowssystem32» notepad.exe
Creating a Text File Script
This CMD script will list all the files you have in your Program Files folder and put that list in a new text file.
- Open Notepad. Type «@echo off«in the first line and press Enter.
- In the second line, type: dir «C:Program Files» > list_of_files.txt
- Select «Save As» from the File menu and save the file as «program-list-script.cmd.»
- Double-click the new text file on your desktop to see the list of files and folders.
The text file will appear in the same folder where the script file itself is. So if the script file is on your desktop, the list-of-files.txt file will also appear on your desktop.
If you want to change the folder where the text file is placed, you can specify its own folder in the script. For example, if you want it to be placed in your Documents folder, use: dir «C:Program Files» > C:UsersDavidDocumentslist_of_files.txt
Creating a Systems Information Script
If you want to use a script to give you needed information, it’s not always necessary to produce a text document with a script. You can have the information posted directly in the CMD window.
The example script below will give you basic information about your computer, including the operating system and version number, the BIOS version, the total physical memory and your computer’s network address. To use the script, type or copy the lines below into a new Notepad file and save it with the .cmd file extension, such as «my_computer_info.cmd.»
In this example, ECHO OFF is used to prevent the CMD window from displaying the script.
The ECHO command is used to display specific text, as well as some equal signs (===) as lines to organize the information in sections.
To insert a comment for your own use — without it affecting the script or appearing in the CMD window — type two colons first. Anything in the same line following » :: « will be commented out from the script.
The PAUSE command directs the CMD program to stay open. Pressing any key on your keyboard will close the window.
@ECHO OFF
:: This CMD script provides you with your operating system, hardware and network information.
TITLE My System Info
ECHO Please wait… Gathering system information.
ECHO =========================
ECHO OPERATING SYSTEM
systeminfo | findstr /c:»OS Name»
systeminfo | findstr /c:»OS Version»
ECHO =========================
ECHO BIOS
systeminfo | findstr /c:»System Type»
ECHO =========================
ECHO MEMORY
systeminfo | findstr /c:»Total Physical Memory»
ECHO =========================
ECHO CPU
wmic cpu get name
ECHO =========================
ECHO NETWORK ADDRESS
ipconfig | findstr IPv4
ipconfig | findstr IPv6
PAUSE
Using Scripts to Shut Down Your Computer
Normally, when you shut down your computer, it happens instantaneously. Suppose, however, that you’re listening to an audiobook or watching a training video — and you know that you will fall asleep after an hour. You can use a CMD script to tell your computer to shut itself down, after a specified period of time, using the shutdown command.
When you use the shutdown command, you need to include two additional switches, or subcommands. The first tells the computer to either shutdown or restart. You can use either -s or — r. The second tells the computer how many seconds to wait before performing the command. For this you use -t, followed by the number of seconds.
To shutdown the computer in one second, use: shutdown -s -t 01
To restart the computer in eight seconds, use: shutdown -r -t 08
To shutdown the computer in two hours use: shutdown -s -t 7200
Backing Up Files With a CMD Script
If you find it tedious to back up your files to a second storage device, using a CMD script makes the process a breeze. For this, use the Robocopy command. For example, if you want to back up all of the files in your Documents folder onto a removable storage device, you can write the command in a CMD file and then — at the end of the day — simply double click the file to activate it.
The Robocopy command needs to know, first — which folder you want to copy and, second — where you want the copy placed. Both the source and destination need to be in quotation marks.
If you’re not certain what your drive letters are, open File Explorer and click on «My Computer.»
For example, if your User name is MyName, your Documents folder is in your C: drive and your Backup folder is in a removable storage D: drive, then the command would be:
robocopy D:UsersMyNameDocuments F:Backup /XA:H /W:0 /R:1 > F:Backupbackup.log
This example is a bit more complicated, since Robocopy offers you a lot of options.
D:UsersMyNameDocuments: the folder you want to back up.
F:Backup: the location of your Backup folder.
/XA:H: ignores hidden files.
/W:0: waits zero seconds between retries, instead of the default 30 seconds.
/R:1: retry only once if the file is locked.
> F:Backupbackup.log: create a backup log placed in the Backup folder.
Note that because this is a mirror backup, if you delete files from the source folder, they will be deleted from the Backup folder the next time you use the script. It would be a good idea to explore additional switches available for Robocopy, so that you ensure that you backup your files the way that works best for you.
If you have every used the Command Line, or CMD, interface in Windows, you probably have some idea of the powerful things it can do. Creating your own CMD scripts, you can do even more, but faster.
A CMD script does the same thing as if you typed commands into the CMD window. If you want to do something on a regular basis, such as telling Windows to turn off your computer after an hour, you can write a script and then you can activate the script whenever you want to run it.
Understanding CMD and Written Commands
In the early days of personal computing almost everything was done by typing command_s into a command line interface. If you wanted to open a program, you had to type the name of the program into the command line. Today, you can simply click or touch an icon on your screen to perform most actions. But Windows still accepts type-written commands in the CMD utility. You can write commands_ to open programs, add or change account permissions, back up files or get information about your computer using the CMD window.
Understanding CMD Scripts
The Command Prompt utility in Windows can be opened at any time, simply by typing «cmd» in the Windows Start menu. Here, you can type all sorts of commands to open programs, change settings and make tweaks to how Windows and its programs perform. In Microsoft’s long history of operating systems, CMD i_s a relative newcomer. In MS-DOS, before Windows was released, when you wanted to run a script, you would save it as a .bat file. While you can still save files with that extension today, most people use the .cmd extension._
Using a Script CMD to Open Notepad
To create and save a CMD switch, it’s best to use a basic text editor. Using a word processor like Microsoft Word makes saving the file a hassle. Notepad is much easier to use. So to demonstrate how CMD works, let’s open use it to open Notepad.
- Type CMD in the Windows Start menu and press Enter to open CMD.exe.
- Change the directory from your current username folder to the base directory by typing «cd» and pressing Enter. It should now read «C:>» before the blinking cursor.
- Type the following line and press Enter: start «c:windowssystem32» notepad.exe
As soon as you press Enter, you will see Notepad open. The command you entered has told Windows to start the notepad.exe program, which is located in the system32 folder, which is inside the Windows folder, on the C: drive. CMD commands are not case-sensitive so you can use lowercase or uppercase letters interchangeably.
Creating Your First Script CMD File
Now that Notepad is open, create your first CMD script file by typing the same line you used in the CMD window into notepad: start «c:windowssystem32» notepad.exe
Save the batch file to your desktop by selecting «Save As» from the File menu. Name the file «firstscript.cmd» and click «Save.» Notepad script commands must be saved with the .cmd extension, rather than the default .txt extension.
Double-click the new CMD file on your desktop. You will see the CMD window open for a fraction of a second and then close as Notepad is launched.
This is hardly a useful script, since a desktop shortcut does the same thing. To create something more useful, let’s edit the file so that it creates a new text file on your desktop listing all of your programs.
Using Echo and Echo Off
While the CMD window wasn’t open long enough to see it, by default it will always display the text that was entered in the CMD file when it runs. For longer scripts, this can be a nuisance, so it’s generally good form to turn this off by using the Echo Off command in the first line of the CMD file. By itself, Echo Off disables the display of any text that follows it. To make the Echo Off command apply to itself, put an @ symbol in front of it. Thus, your two-line CMD script would be:
@echo off
start «c:windowssystem32» notepad.exe
Creating a Text File Script
This CMD script will list all the files you have in your Program Files folder and put that list in a new text file.
- Open Notepad. Type «@echo off«in the first line and press Enter.
- In the second line, type: dir «C:Program Files» > list_of_files.txt
- Select «Save As» from the File menu and save the file as «program-list-script.cmd.»
- Double-click the new text file on your desktop to see the list of files and folders.
The text file will appear in the same folder where the script file itself is. So if the script file is on your desktop, the list-of-files.txt file will also appear on your desktop.
If you want to change the folder where the text file is placed, you can specify its own folder in the script. For example, if you want it to be placed in your Documents folder, use: dir «C:Program Files» > C:UsersDavidDocumentslist_of_files.txt
Creating a Systems Information Script
If you want to use a script to give you needed information, it’s not always necessary to produce a text document with a script. You can have the information posted directly in the CMD window.
The example script below will give you basic information about your computer, including the operating system and version number, the BIOS version, the total physical memory and your computer’s network address. To use the script, type or copy the lines below into a new Notepad file and save it with the .cmd file extension, such as «my_computer_info.cmd.»
In this example, ECHO OFF is used to prevent the CMD window from displaying the script.
The ECHO command is used to display specific text, as well as some equal signs (===) as lines to organize the information in sections.
To insert a comment for your own use — without it affecting the script or appearing in the CMD window — type two colons first. Anything in the same line following » :: « will be commented out from the script.
The PAUSE command directs the CMD program to stay open. Pressing any key on your keyboard will close the window.
@ECHO OFF
:: This CMD script provides you with your operating system, hardware and network information.
TITLE My System Info
ECHO Please wait… Gathering system information.
ECHO =========================
ECHO OPERATING SYSTEM
systeminfo | findstr /c:»OS Name»
systeminfo | findstr /c:»OS Version»
ECHO =========================
ECHO BIOS
systeminfo | findstr /c:»System Type»
ECHO =========================
ECHO MEMORY
systeminfo | findstr /c:»Total Physical Memory»
ECHO =========================
ECHO CPU
wmic cpu get name
ECHO =========================
ECHO NETWORK ADDRESS
ipconfig | findstr IPv4
ipconfig | findstr IPv6
PAUSE
Using Scripts to Shut Down Your Computer
Normally, when you shut down your computer, it happens instantaneously. Suppose, however, that you’re listening to an audiobook or watching a training video — and you know that you will fall asleep after an hour. You can use a CMD script to tell your computer to shut itself down, after a specified period of time, using the shutdown command.
When you use the shutdown command, you need to include two additional switches, or subcommands. The first tells the computer to either shutdown or restart. You can use either -s or — r. The second tells the computer how many seconds to wait before performing the command. For this you use -t, followed by the number of seconds.
To shutdown the computer in one second, use: shutdown -s -t 01
To restart the computer in eight seconds, use: shutdown -r -t 08
To shutdown the computer in two hours use: shutdown -s -t 7200
Backing Up Files With a CMD Script
If you find it tedious to back up your files to a second storage device, using a CMD script makes the process a breeze. For this, use the Robocopy command. For example, if you want to back up all of the files in your Documents folder onto a removable storage device, you can write the command in a CMD file and then — at the end of the day — simply double click the file to activate it.
The Robocopy command needs to know, first — which folder you want to copy and, second — where you want the copy placed. Both the source and destination need to be in quotation marks.
If you’re not certain what your drive letters are, open File Explorer and click on «My Computer.»
For example, if your User name is MyName, your Documents folder is in your C: drive and your Backup folder is in a removable storage D: drive, then the command would be:
robocopy D:UsersMyNameDocuments F:Backup /XA:H /W:0 /R:1 > F:Backupbackup.log
This example is a bit more complicated, since Robocopy offers you a lot of options.
D:UsersMyNameDocuments: the folder you want to back up.
F:Backup: the location of your Backup folder.
/XA:H: ignores hidden files.
/W:0: waits zero seconds between retries, instead of the default 30 seconds.
/R:1: retry only once if the file is locked.
> F:Backupbackup.log: create a backup log placed in the Backup folder.
Note that because this is a mirror backup, if you delete files from the source folder, they will be deleted from the Backup folder the next time you use the script. It would be a good idea to explore additional switches available for Robocopy, so that you ensure that you backup your files the way that works best for you.