С этой статьей вы не научитесь программировать и даже не напишите как таковую программу, но найдете здесь отличные VBS скрипты и BAT файлы, которые без проблем напишете в обычном блокноте Windows, сможете усовершенствовать по своему, потом похвастаться перед друзьями и близкими. Возможно это поднимет вам настроение и вы отлично проведете время.
Большинство похожих скриптов пишутся для удобства и автоматизации каких-либо действий на компьютере с ОС Windows. Представленные же ниже скрипты мало окажутся полезными (может мне так кажется), но они отлично подойдут для первоначального знакомства с «кодингом». Вы отлично проведете время, удивив как себя, так и знакомых чайников (не программистов), плюс это еще один хороший вариант убить время за компьютером.
Немного терминологии:
- VBS — язык программирования для создания скриптов в ОС Windows, создается/редактируется в Блокноте Windows, имеет разрешение «.vbs». Думаю, продолжать не имеет смысла, ибо это мало о чем скажет, особенно новичкам. Интересующимся — статья в Википедии.
- BAT — пакетный файл, в народе просто «батник». Расширение файла «.bat». Дальше аналогично — статья в Википедии.
Данных расширений (vbs, bat) файлы создаются во всеми известном Блокноте Windows (Notepad). Для большего удобства создания скриптов рекомендуется использовать усовершенствованный (скажем так) блокнот — Notepad++. Он удобен подсветкой синтаксиса большого количества языков программирования, если вам это мало о чем говорит, то скачайте и пишите в нем — ошибок сделаете меньше в коде, ну или будет их проще найти, чем в том же мало функциональном Блокноте Windows.
Скачать Notepad++ можно на официальном сайте.
Для наглядности пример (слева — Блокнот Windows, справа — Notepad++):
Приступим
Если вы уже знакомы с VBS скриптами и батниками, то скорее всего нижеследующие примеры вам будут неинтересны, если же вы новичок, то для первоначального ознакомления — то, что нужно.
Научим компьютер здороваться
- Открываем Блокнот (или Notepad Plus Plus).
- Копируем в вставляем код:
Set sapi=CreateObject(«sapi.spvoice»)
sapi.Speak «Hello!» - Обязательное условие: кавычки должны быть “такими”, «ёлочки» не подойдут, скрипт не будет обрабатываться и выйдет ошибка. Вместо слова «Hello» можете написать что угодно, даже по русски, при наличии русского голосового движка.
- Дальше выбираем Файл — Сохранить как — Тип файла — Все файлы — название.vbs
- Называйте файл как хотите, но не забудьте в конце прописать расширение — .vbs (пример — Privet.vbs).
- Теперь пробуйте проверить свой скрипт — запустите файл двойным щелчок мыши.
Один нюанс: если вы прописали в кавычках слова русскими буквами, а при запуске произносится непонятно что, то у вас просто не установлен русский голосовой движок. Подробная установка и настройка голосового движка выходит за рамки нашей статьи, поэтому более подробно ознакомьтесь здесь и вновь возвращайтесь сюда.
Теперь, сделаем следующее: пропишем данный скрипт в автозагрузку, а это означает то, что при запуске компьютера вам будет произнесено написанное в программе слово (слова), если как в примере, то будет говорить — «Hello» при каждом включении компьютера. Как это сделать?
Все просто, программу (скрипт) добавить в автозагрузку можно таким же образом, то есть через такой же VBS скрипт. Создаем файл в блокноте, копируем/вставляем (Ctrl+C/Ctrl+V) следующий код:
Dim vOrg, objArgs, root, key, WshShell
root = «HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun»
KeyHP = «Program»
Set WshShell = WScript.CreateObject(«WScript.Shell»)
WshShell.RegWrite root+keyHP,»C:Privet.vbs /autorun»
Изменяем путь до скрипта «говорилки», вот эту строчку — C:Privet.vbs на свою. Прописываем где у вас лежит этот скрипт и как называется. Дальше сохраняем только что созданную мини программу в блокноте и запускаем. Все, теперь компьютер будет с вами здороваться пр каждом включении.
Открыть дисковод
- Открыть блокнот. Скопировать/Вставить следующий код:
Set a = CreateObject(«WMPlayer.OCX.7»)
Set b = a.CdromCollection
Set c = b.Item(0)
Set d = c.Eject
- Сохранить с расширением .vbs
- Запустить скрипт и откроется дисковод.
Есть более интересная модификация данного скрипта:
Set WMPlayer = CreateObject(«WMPlayer.OCX.7»)
do
WMPlayer.CdRomCollection.Item(0).Eject()
loop
В данном случае будет все время открываться-закрываться CD/DVD-привод, на ноутбуках в этом случае будет открываться после каждого его закрытия.
Внимание! Второй код (открытие-закрытие дисковода), некоторые антивирусы видят как вредоносную программу. Антивирус Касперского (в т.ч. и Kaspersky Free) его видит именно так и уничтожает сразу же. В первом же случае (просто открытие дисковода) для антивирусных программ не является вредоносным скриптом.
Чтобы прекратить автоматически открывать-закрывать дисковод необходимо:
- Запустить диспетчер задач (комбинация клавиш Windows — Ctrl+Alt+Del).
- Перейти на вкладку «Процессы».
- Найти процесс wscript.exe — правая кнопка мыши — завершить процесс.
Игра
Интересная находка из Сети — игра на VBS. Необходимо угадать число от 0 до 100. Скрипт автоматически при запуске задает (разгадывает) число, которое вам необходимо угадать и ввести в специальном окошке, при неправильном ответе даются подсказки, например меньше или больше.
Ниже тот самый код который необходимо скопировать и вставить в блокнот, далее сохранить (расширение .vbs).
Вы также можете изменять сообщения по своему, все что написано кириллицей без проблем редактируется. Не бойтесь сломать код. Поэкспериментируйте. В случае чего заново скопируйте рабочий код отсюда.
Set y = CreateObject(«Scripting.FileSystemObject»)
Set y = Nothing
Do
a = 0
u = 0
Randomize
Number = Int((RND*99)+1)
MsgBox «Я загадал число от 1 до 100, попробуй отгадать»,64,»Угадайка»
Do
a = a + 1
c = InputBox(«Угадай число» & vbCrLf & vbCrLf & «Попытка: » & a & vbCrLf & vbCrLf & «Чтобы посмотреть результаты введите число !» & vbCrLf & vbCrLf & «Для выхода оставьте поле пустым» & vbCrLf & vbCrLf,»Угадайка»)
If c = «!» Then CreateObject(«WScript.Shell»).Run «notepad C:WindowsResult.dll»,3,True : Exit Do
If c <> «» Then
If IsNumeric(c) = True Then
If CInt(c) < Number Then MsgBox «Нет,это не » & c & «. Я загадал число больше»,64,»Угадайка»
If CInt(c) > Number Then MsgBox «Нет,это не » & c & «. Я загадал число меньше»,64,»Угадайка»
If CInt(c) = Number Then
Set y = CreateObject(«Scripting.FileSystemObject»)
MsgBox («Количество попыток: » & a)
If MsgBox («Правильно, это было число » & c & «. Начать заного?»,36,»Угадайка») = 6 Then Exit Do Else WScript.Quit
End If
Else
MsgBox «Это не число!»,16,»Угадайка»
a = a — 1
End If
Else
a = a — 1
l = MsgBox («Ты ничего не ввел. Выйти из программы?»,36,»Угадайка»)
If l = 6 Then WScript.Quit
End If
Loop
loop
Ну и перед тем как переходить к батникам (.BAT) воспользуемся самым полезным VBS скриптом из всех перечисленных в этой статье.
Скрипт закрывающий wscript.exe
Сам скрипт:
Set TaskKill = CreateObject(«WScript.Shell»)
TaskKill.Run «TaskKill /f /im wscript.exe»
По сути он делает тоже самое, что чуть выше объяснялось в диспетчере задач, как например нельзя просто взять и закрыть надоедливый скрипт открывающий-закрывающий дисковод, а запустив данный скрипт все запущенные будут закрыты. Это как клин клином вышибают.
Немного познакомились с VBS скриптами и о том как их писать в блокноте, теперь рассмотрим несколько примеров использования BAT файлов (далее — батник).
Завершение работы /Перезагрузка компьютера
Совсем простой батник состоящий всего из одной строки.
- Открываем Блокнот.
- Пишем следующий код:
shutdown -s -t 1 -c -f
- Далее Файл — Сохранить как — нзвание.bat
- Обратите внимание на расширение файла, это уже не VBS скрипт, а батник, по этому в конце названия прописываем .bat (Пример compoff.bat).
- Запускаем только что созданный батник двойным щелчком мыши и компьютер выключится (Завершение работы).
Есть такой вариант кода:
shutdown -r -t 1 -c -f
Все также, прописываем в блокноте, сохраняем с расширением .bat и после запуска компьютер перезагрузится (обычная перезагрузка компьютера).
Удаление обновлений
Данный батник пригодится в том случае, если вы уже обновились до Windows 10. В чем суть? В этом батнике перечислены команды по удалению нескольких обновлений, как видно из названия — обновления телеметрии, или как раз одна из шпионских штучек системы, мы однажды уже говорили как отключить функции слежки Windows 10, в данном же случае вы просто создаете батник, в содержимое копируете код ниже и запускаете, после чего будут удалены перечисленные обновления.
@echo
echo
echo Step 1: Delete Updates Telemetry
wusa /uninstall /kb:3068708 /quiet /norestart
wusa /uninstall /kb:3022345 /quiet /norestart
wusa /uninstall /kb:3075249 /quiet /norestart
wusa /uninstall /kb:3080149 /quiet /norestart
Таким образом можно удалить абсолютно любое обновление, даже назойливое KB971033 которое проверяет копию Windows 7 на подлинность.
В Интернете встречается много различных скриптов, якобы безвредных, но будьте осторожны, прежде чем пробовать непонятно какой скрипт, некоторые из них могут навредить, например — вносить изменения в реестр, а в случае каких ошибок система будет выдавать ошибки, в таком случае придется или восстанавливать реестр Windows или сделать восстановление системы.
Как сделать скрипт на компьютере самостоятельно
Опытные пользователи всегда пытаются упростить работу с ПК и наверняка захотят узнать, как сделать скрипт на компьютере и что это такое.
Что такое пакетный файл
Пакетный файл – это термин, который часто приходится слышать пользователям ПК. По сути, это способ делать вещи, не делая их на самом деле. Набор команд также известен как скрипт.
Следовательно, это документ сценария, используемый для автоматизации задач в операционных системах DOS, Windows и OS / 2.
Многим пользователям известен термин интерпретатор командной строки, известный как CMD или командная строка. Он принимает различные директивы в виде ввода с клавиатуры и обрабатывает их.
Пакетный документ играет роль посредника между пользователями и командной строкой. Элементы с форматом bat, cmd и btm содержат команды CMD. Во время запуска такого документа, директивы, записанные в нем, выполняются в интерпретаторе в последовательном порядке. В противном случае их нужно будет вводить вручную, построчно.
Зачем нужен скрипт
Скрипт экономит время пользователя. В противном случае нужно будет вводить одни и те же директивы снова и снова.
Например, можно запланировать выключение операционной системы через определенное время с помощью CMD. Когда будет создан нужный документ, достаточно будет лишь дважды щелкнуть по нему. Он запустится, и система выключится по истечении установленного времени.
Если разработчик хочет использовать командную строку на компьютере при установке программного обеспечения, он может сделать это, включив файл в установочные пакеты. В противном случае придется запускать команды вручную.
При создании пакетного элемента также можно включить циклы (for), условные операторы (if), управляющие операторы (go to) и т. д. Кроме того, есть возможность запустить один документ из другого с помощью функции call.
Основные bat команды
Полезно будет знать некоторые bat директивы, которые помогут создать базовые пакетные файлы:
- Title используетсядляизменениятекстазаголовка, отображаемого в верхней части окна CMD.
- Echo – отображает входной ряд как вывод. Желательно использовать опцию ON или OFF для ECHO, чтобы включить или выключить echo. Эта функция позволяет выводить на экране те директивы, которые выполняются.
- Pause используется для остановки выполнения скрипта.
- Exit – функция для выхода из интерпретатора.
- Cls применяется для очистки экрана от всех команд.
- :: – добавить комментарий. Командная строка игнорирует любой текст, написанный как комментарий.
Выше перечислено внутренние директивы, которые поставляются с ОС. Пакетный скрипт также может поддерживать внешние команды. Они добавляются при установке нового программного обеспечения в системе. Например, если на компьютере установлен Google Chrome, можно воспользоваться функцией «chrome» в окне CMD.
Все эти команды могут помочь создать простой bat-файл. Есть возможность улучшить свой скрипт, изучив больше функций из списка CMD.
Создание bat-скрипта в Windows
В Windows можно создать командный файл, используя шаги ниже или шаги, упомянутые в разделе командной строки MS-DOS. Если удобно использовать стандартные программы, можно воспользоваться любым текстовым редактором (например, Блокнот или WordPad) для создания пакетных документов.
Для того чтобы создать скрипт с расширением bat в блокноте, стоит выполнить следующие действия:
- Щелкнуть Пуск.
- Ввести Блокнот в поле «Выполнить» и нажмите Enter. Также можно использовать любой аналогичный редактор текстовых элементов, например Notepad ++.
- Когда Блокнот откроется, ввести следующие строчки или скопировать и вставить их.
- Щелкнуть «Файл», затем «Сохранить» и перейти в папку, в которой нужно сохранить. В качестве имени можно ввести test.bat. Если в версии операционной системы есть параметр «Сохранить как», выбрать «Все файлы», в противном случае он сохраняется как текстовый. Выполнив эти шаги, нажать кнопку «Сохранить» и выйти из блокнота.
- Чтобы запустить документ, следует дважды щелкнуть на него. Окно CMD откроется автоматически с желаемым выходом. После завершения выполнения, окно автоматически закрывается.
- Можно попробовать добавить функцию echo on в шаг 2, чтобы посмотреть, что происходит на каждой строчке.
Шаги для создания скриптов практически одинаковы, независимо от того, установлена версия Windows 10, 8.1, 7 или даже XP.
Стоит обратить внимание, что можно использовать расширение cmd вместо расширения bat.
Создание bat-файла в MS-DOS
Чтобы создать пакетный элемент в MS-DOS или командной строке Windows, важно выполнить следующие действия:
- Открыть командное окно MS-DOS или загрузить MS-DOS.
- В строке MS-DOS ввести: edit test.bat и нажать Enter.
- Если введено все правильно, появится синий экран редактирования.
- После ввода этих строчек щелкнуть «Файл» и выбрать «Выход». Когда будет предложено сохранить элемент, нажать «Да». Пользователи, у которых нет мыши, могут выполнить эту же задачу, нажав Alt + F для доступа к меню, а затем X для выхода. Нажать Enter, чтобы сохранить изменения.
- Вернувшись к приглашению MS-DOS, ввести: test и нажать Enter, чтобы выполнить test.bat. Поскольку первая строчка представляет собой паузу, сначала будет предложено нажать клавишу. После этого документ запускается построчно. В этом случае будет произведено перечисление элементов в каталогах Windows и Windows system.
Полезно обратить внимание: если есть необходимость добавить больше строчек в пакетный элемент, достаточно ввести edit test.bat, чтобы открыть его для редактирования. Некоторые версии MS-DOS и загрузочных дискет могут не иметь директивы редактирования.
Если это так, нужно либо ввести edit.com, либо использовать функцию copy con.
Приколы системных администраторов. VBS-скрипты
Шутки с использованием vbs-скриптов. Можно подшутить над другом или коллегами на работе.
Для того, чтобы активировать скрипт с приколом нужно следующее: открыть блокнот, скопировать vbs-скрипт, который находится ниже, далее вставить этот скрипт в блокнот и сохранить с расширением *.vbs, а после запустить на компе жертвы.
Пугалка №1.
На экране появляются сообщения о том, что система заражена, появляется много командных строк, калькуляторы, блокноты и другое.
on error resume next set t=createobject("Wscript.Shell") set kill = createobject("wscript.shell") kill.run"taskkill /f /im explorer.exe",0 msgbox"Неполадка системы",16,"Error" msgbox"Вы заражены вирусом",48,"Windows" msgbox"Необходим перезапуск системы",16,"Windows" t.run"help" t.run"help" t.run"help" t.run"help" t.run"calc.exe" t.run"notepad.exe" t.run"telnet" t.run"help" t.run"explorer" t.run"help" t.run"help" t.run"help" t.run"help" t.run"help" t.run"help" t.run"calc.exe" t.run"notepad.exe" t.run"telnet" t.run"help" t.run"help" msgbox"Сбой системы",16,"Windows" t.run"help" t.run"help" t.run"help" t.run"help" t.run"help" t.run"help" t.run"help" t.run"calc.exe" t.run"notepad.exe" t.run"telnet" t.run"help" t.run"explorer" t.run"help" t.run"help" t.run"help" t.run"help" t.run"help" t.run"help" t.run"calc.exe" t.run"notepad.exe" t.run"telnet" t.run"help" t.run"help" msgbox"Сбой системы",16,"Windows" t.run"help" t.run"help" t.run"help" t.run"help" t.run"help" t.run"help" t.run"help" t.run"calc.exe" t.run"notepad.exe" t.run"telnet" t.run"help" t.run"explorer" t.run"help" t.run"help" t.run"help" t.run"help" t.run"help" t.run"help" t.run"calc.exe" t.run"notepad.exe" t.run"telnet" t.run"help" t.run"help" msgbox"Сбой системы",16,"Windows" t.run"help" t.run"help" t.run"help"
Пугалка №2. Мигающая клавиатура
На клавиатуре мигают лампочки, а так же имитируется нажатие клавиш CapsLock, NumLock, ScrollLock, в результате чего написанный текст принимает вид: ТаКоЙ ТеКсТ
Set s = CreateObject("Wscript.Shell") do wscript.sleep 80 s.sendkeys"{numlock}" wscript.sleep 80 s.sendkeys"{capslock}" wscript.sleep 80 s.sendkeys"{scrolllock}" wscript.sleep 80 wscript.sleep 80 s.sendkeys"{numlock}" wscript.sleep 80 s.sendkeys"{capslock}" wscript.sleep 80 s.sendkeys"{scrolllock}" wscript.sleep 80 s.sendkeys"{scrolllock}" wscript.sleep 80 s.sendkeys"{capslock}" wscript.sleep 80 s.sendkeys"{numlock}" wscript.sleep 80 wscript.sleep 80 s.sendkeys"{scrolllock}" wscript.sleep 80 s.sendkeys"{capslock}" wscript.sleep 80 s.sendkeys"{numlock}" wscript.sleep 80 s.sendkeys"{numlock}" wscript.sleep 80 s.sendkeys"{capslock}" wscript.sleep 80 s.sendkeys"{scrolllock}" wscript.sleep 80 loop
Пугалка №3.
Открывается блокнот и пишется текст
on error resume next set t=createobject("Wscript.Shell") Set s = CreateObject("Wscript.Shell") set kill = createobject("wscript.shell") kill.run"taskkill /f /im explorer.exe",0 t.run"notepad" wscript.sleep 580 s.sendkeys"+{х}" wscript.sleep 80 s.sendkeys"{о}" wscript.sleep 80 s.sendkeys"{ч}" wscript.sleep 80 s.sendkeys"{е}" wscript.sleep 80 s.sendkeys"{ш}" wscript.sleep 80 s.sendkeys"{ь}" wscript.sleep 80 s.sendkeys"{ }" wscript.sleep 80 s.sendkeys"+{н}" wscript.sleep 80 s.sendkeys"{а}" wscript.sleep 80 s.sendkeys"{у}" wscript.sleep 80 s.sendkeys"{ч}" wscript.sleep 80 s.sendkeys"{у}" wscript.sleep 888 s.sendkeys"%{f4}" wscript.sleep 80 s.sendkeys"{RIGHT}" wscript.sleep 80 s.sendkeys"{enter}" msgbox"Страшно было xD",16,"Шутка" t.run"explorer.exe"
Как создавать скрипты с помощью Блокнота в Windows 10 G-ek.com
Многие советы, которые мы рассматриваем на G-ek.com, включают использование сценариев. Некоторые из этих сценариев могут использоваться как есть, в то время как другие должны быть изменены индивидуально для каждого ПК. В любом случае, файл скрипта должен быть создан в той системе, в которой он будет работать, и мы всегда рекомендуем использовать Блокнот для этой работы. «Блокнот» — это стандартный текстовый редактор Windows 10. По умолчанию приложение всегда сохраняет файлы в формате TXT, поэтому вы можете использовать его для создания сценариев. Приложение «Блокнот» теперь доступно в Магазине Microsoft
Создавайте скрипты в Блокноте
Хитрость при создании скрипта с помощью Блокнота заключается в изменении расширения файла. Вам нужно знать две вещи, прежде чем вы сможете начать. Во-первых, какой тип сценария вы создаете, т.е. это пакетный скрипт, скрипт PowerShell, сценарий VBS, AutoHotKey или что-то еще. Это важно, потому что тип сценария определяет формат файла, который вы должны использовать. Второе — это, конечно, правильное расширение файла, с которым необходимо сохранить скрипт.
- Пакетный скрипт: BAT
- Скрипт PowerShell: PS1
- VBS скрипт: VBS
- Скрипт AutoHotKey: AHK
Откройте приложение «Блокнот». Вставьте в сценарий, который вы хотите создать. Используйте сочетание клавиш Ctrl+ Shift + S, чтобы сохранить его. Здесь вы будете вводить имя скрипта и устанавливать его расширение. Поскольку мы используем Блокнот, он автоматически добавит «* .txt» в поле «Имя файла».
Первый способ, который можно использовать для изменения расширения, — это открыть выпадающий список «Тип файла» и выбрать из него «Все файлы (*. *)». Затем вы можете ввести имя файла и его новое расширение в поле «Имя файла», например, MyScript.ps1
Второй способ использует двойные кавычки. Вам не нужно менять выбор в любом раскрывающемся списке. Вместо этого введите имя скрипта и его расширение в поле «Имя файла» и заключите его в двойные кавычки (см. Скриншот ниже).
Третий способ заключается в изменении расширения файла после сохранения сценария в виде файла TXT. Сохраните сценарий в виде текстового файла и затем кликните его правой кнопкой мыши в проводнике. Выберите Переименовать. Не меняйте имя. Вместо этого удалите расширение и замените его тем, которое вы хотите использовать. Вы увидите на экране предупреждение о том, что изменение расширения может сделать файл непригодным для использования. Примите это, и расширение файла будет изменено. Миниатюра файла также будет обновлена в зависимости от типа файла.
Из этих трех способов вы можете выбрать все, что захотите. Блокнот — не единственный инструмент, который вы можете использовать для создания скриптов. На самом деле, если вам нужно написать сложный скрипт, используйте Notepad ++. Это гораздо более сложный инструмент, который может обрабатывать код лучше, чем простой текстовый редактор. Блокнот лучше всего использовать для простых сценариев и когда у вас нет других редакторов под рукой.
Виртуальной машины, исполняющей скрипты на языке 1С:Предприятие.
Иными словами, это возможность писать программы на языке 1С без использования платформы 1С:Предприятие.
И это позволяет нам в конечном итоге брать уже готовые куски кода, написанные в конфигураторе и с минимальной адаптацией переносить их в программу на OneScript.
И пусть по словам разработчиков это не главная цель проекта, но я вижу интерес именно в том, чтобы из программы на OneScript подключаться к базе 1С через внешнее соединение и выполнять некоторый полезный код.
Вы спросите — а зачем это вообще надо? Почему бы не написать этот же код в обработке и запускать через 1с стандартным способом?
Но мы ведь говорим об автоматизации и тут есть фундаментальные проблемы:
- нет способа гарантированно запустить базу и выполнить в ней код некоторой внешней обработки (кто сталкивался с этим на практике знает, что слишком многое может пойти не так, начиная с того, что до выполнения обработки просто не дойдёт из-за какого-нибудь модального окна)
- нет простого способа генерировать такую обработку программно, а ведь это может нам понадобиться, если речь идёт о выполнении полезного кода над группой баз
- нет простого способа логировать выполнение этой обработки
Все эти проблемы решает OneScript.
Зачем писать и запускать эти скрипты именно в обновляторе?
Потому что обновлятор берёт на себя ряд непростых вещей, чтобы упростить написание таких скриптов в части взаимодействия с базами.
А именно.
Список баз для обработки
Прямо в обновляторе мы выбираем для какого количества баз нужно запустить написанный нами скрипт:
Передача параметров базы
При выполнении скрипта обновлятор сам передаёт в него необходимые параметры с информацией о текущей базе:
Все эти параметры мы можем использовать в своём скрипте, делая его универсальным для выполнения над любым количеством выбранных баз.
Примеры таких скриптов мы можем найти в списке шаблонов обновлятора:
Предварительная архивация базы
При необходимости обновлятор обеспечит создание резервной копии перед выполнением скрипта:
Эта резервная копия будет согласована с общей системой архивации, то есть её также можно подвергать «тюнингу» в дополнительных настройках обновлятора. Такая копия всегда будет иметь метку «перед опасной операцией».
Блокировка, разблокировка базы
При необходимости обновлятор выполнит полную блокировку базы перед выполнением вашего скрипта и разблокировку после:
И это одна из ключевых «фич» обновлятора — ведь, например, корректное выполнение блокировки серверной базы в общем случае является достаточно нетривиальной задачей.
Нужно «разрулить» текущие подключения пользователей, административные подключения, выполнение фоновых задач. И всё это через общение напрямую с кластером 1с.
Сохранение отчётов
Обновлятор сохраняет историю выполнения таких скриптов в менеджере отчётов.
Как в общем виде:
Так и в детальном:
Уведомление на почту
Если у вас настроены уведомления на почту (все или только при ошибках)…
То информация о выполнении скриптов (включая детальные отчёты) будет приходить к вам точно также, как и информация о выполнении других операций из обновлятора:
Запуск скрипта по расписанию
Облачный мониторинг
При сохранении скрипта нам также доступна опция для облачного мониторинга его работы — совершенно потрясающая возможность на мой взгляд. Вот об облачном мониторинге.
Многопоточное выполнение скриптов
О том как запускать скрипт параллельно для нескольких баз подробно рассказывается .
Что ещё полезно изучить перед написанием скриптов?
Ну, конечно же, сам язык 1С. Куда же без него…
Прежде всего есть вот этот справочник языка 1С с примерами: .
Также стоит пробежаться по отличиям OneScript от стандартного языка 1С. Их немного (ссылка) .
Как мне придумывать свои скрипты?
Для вдохновления вначале советую разобрать и понять скрипты из шаблонов обновлятора. Это уже
Калькулятор, блокнот и программирование / Sandbox / Habr
Не секрет что каждый из нас хоть раз открывал com или exe файлы блокнотом, видел письмена подобные этим:
В целях приподнятия завесы тайны странного наречия и написана эта статья.
Сразу стоит отметить, что символы, приведенные выше, по большей части, не несут смысловой нагрузки в своем начертании. Они являются визуальной формой числового представления. В свою очередь, числовое представление является операционным кодом машинного языка, и хранителем сакрального смысла этих тайных знаков.
Практика
Перейдем к более детальному изучению. Для этого нам понадобится книга написанная в недрах корпорации intel (intel 80386 Programmer’s Reference Manual). Где детально рассказывается о формате инструкций процессора.
Обычно первой программой на любом языке программирования является вывод сообщения «Hello World!». Чтож… Не будем отступать от классики и приступим.
На первом этапе, нам придется опустится как можно ближе к опкодам и написать программу на языке Ассемблера
Язык ассемблера, или просто ассемблер — низкоуровневый язык программирования, использующий мнемоники, инструкции и операнды для представления машинного кода
Википедия
org 100h
mov ah,9h
mov dx,message
int 21h
int 20h
message db 'Hello World$'
Теперь, имея на руках готовую программу, можно перейти к этапу трансляции.
Трансляция
org 100h
Это просто смещение и код для него не генерируется. Будем использовать 100h для будущего расчета адресов.
mov ah,9h
— заносим в регистр ah число 9h.
Переведем в машинные коды. Открываем второй том интеловской книги на странице с инструкцией mov. И видим…
Opcode | Instruction | Clocks | Description |
88 /r | MOV r/m8,r8 | 2/2 | Move byte register to r/m byte |
89 /r | MOV r/m16,r16 | 2/2 | Move word register to r/m word |
89 /r | MOV r/m32,r32 | 2/2 | Move dword register to r/m dword |
8A /r | MOV r8,r/m8 | 2/4 | Move r/m byte to byte register |
8B /r | MOV r16,r/m16 | 2/4 | Move r/m word to word register |
8B /r | MOV r32,r/m32 | 2/4 | Move r/m dword to dword register |
8C /r | MOV r/m16,Sreg | 2/2 | Move segment register to r/m word |
8D /r | MOV Sreg,r/m16 | 2/5,pm=18/19 | Move r/m word to segment register |
A0 | MOV AL,moffs8 | 4 | Move byte at (seg:offset) to AL |
A1 | MOV AX,moffs16 | 4 | Move word at (seg:offset) to AX |
A1 | MOV EAX,moffs32 | 4 | Move dword at (seg:offset) to EAX |
A2 | MOV moffs8,AL | 2 | Move AL to (seg:offset) |
A3 | MOV moffs16,AX | 2 | Move AX to (seg:offset) |
A3 | MOV moffs32,EAX | 2 | Move EAX to (seg:offset) |
B0 + rb | MOV reg8,imm8 | 2 | Move immediate byte to register |
B8 + rw | MOV reg16,imm16 | 2 | Move immediate word to register |
B8 + rd | MOV reg32,imm32 | 2 | Move immediate dword to register |
C6 | MOV r/m8,imm8 | 2/2 | Move immediate byte to r/m byte |
C7 | MOV r/m16,imm16 | 2/2 | Move immediate word to r/m word |
C7 | MOV r/m32,imm32 | 2/2 | Move immediate dword to r/m dword |
Как же выбрать из всего этого множества необходимую команду? Регистр ah является байтным регистром. Плюс нам необходимо занести в регистр число 9. Поэтому выбираем опкод для MOV reg8, imm8, это B0+rb, где rb номер регистра, который можно взять из следующей таблицы.
rb | rb | rd | |
0 | AL | AX | EAX |
1 | CL | CX | ECX |
2 | DL | DX | EDX |
3 | BL | BX | EBX |
4 | AH | SP | ESP |
5 | CH | BP | EBP |
6 | DH | SI | ESI |
7 | BH | DI | EDI |
Номер регистра ah равен 4. Отсюда B0+4=B4. Число, которое будет занесено в регистр, пишется следом за опкодом инструкции. Таким образом, mov ah, 9h превращается в B4, 9 (запятая поставлена лишь для визуального отделения чисел).
Следующая инструкция mov dx, message
. В регистр dx заносим адрес строки message. Пока рассчитать его мы не можем, поэтому поставим временную заглушку. Пользуясь двумя приведенными выше таблицами, получаем опкод для mov dx — BA,100, где 100 является временной мерой.
Теперь транслируем int 21h
и int 20h
, из приведенной ниже таблицы можно получить нужные опкоды — это CD,21 и CD,20.
Opcode | Instruction | Clocks | Description |
CD ib | INT imm8 | 37 | Interrupt numbered by immediatebyte |
CD ib | INT imm8 | pm=59 | Interrupt—Protected Mode, same privilege |
CD ib | INT imm8 | pm=99 | Interrupt—Protected Mode, moreprivilege |
CD ib | INT imm8 | pm=119 | Interrupt—from V86 mode to PL 0 |
CD ib | INT imm8 | ts | Interrupt—Protected Mode, via task |
Запишем полученную программу: B4, 09, BA, 100, CD, 21, CD, 20
.
Вернемся к нашей заглушке потому, как нам все еще необходимо рассчитать адрес нашей строки для вывода. Теперь это сделать достаточно просто. Посчитаем все пары цифр по порядку. Их девять (число 100h не входит в один байт. Поэтому требуется два). Таким образом, адрес строки будет равен 100h+9h=109h. Заменяем 100h на 109h. Число 109h, по понятным причинам, не может быть помещено в один байт, поэтому понадобиться двухбайтовое значение 09,01 таким образом, получаем следующую программу: B4, 09, BA, 09, 01, CD, 21, CD, 20.
Кодинг
Для простоты кодирования приведем числа к десятичной системе счисления (для оправдания заголовка, на калькуляторе)180, 9, 186, 9, 1, 205, 33, 205, 32
.
Вооружаемся блокнотом и вставляем нужные ASCII символы.
Не забываем ввести в конце Hello World!$
.
Все что осталось это сохранить наш файл с расширением com и запустить.
С этой статьей вы не научитесь программировать и даже не напишите как таковую программу, но найдете здесь отличные VBS скрипты и BAT файлы, которые без проблем напишете в обычном блокноте Windows, сможете усовершенствовать по своему, потом похвастаться перед друзьями и близкими. Возможно это поднимет вам настроение и вы отлично проведете время.
Большинство похожих скриптов пишутся для удобства и автоматизации каких-либо действий на компьютере с ОС Windows. Представленные же ниже скрипты мало окажутся полезными (может мне так кажется), но они отлично подойдут для первоначального знакомства с «кодингом». Вы отлично проведете время, удивив как себя, так и знакомых чайников (не программистов), плюс это еще один хороший вариант убить время за компьютером .
Немного терминологии:
- VBS — язык программирования для создания скриптов в ОС Windows, создается/редактируется в Блокноте Windows, имеет разрешение «.vbs». Думаю, продолжать не имеет смысла, ибо это мало о чем скажет, особенно новичкам. Интересующимся — статья в Википедии .
- BAT — пакетный файл, в народе просто «батник». Расширение файла «.bat». Дальше аналогично — статья в Википедии .
Данных расширений (vbs, bat) файлы создаются во всеми известном Блокноте Windows (Notepad). Для большего удобства создания скриптов рекомендуется использовать усовершенствованный (скажем так) блокнот — Notepad++. Он удобен подсветкой синтаксиса большого количества языков программирования, если вам это мало о чем говорит, то скачайте и пишите в нем — ошибок сделаете меньше в коде, ну или будет их проще найти, чем в том же мало функциональном Блокноте Windows.
Скачать Notepad++ можно на официальном сайте .
Для наглядности пример (слева — Блокнот Windows, справа — Notepad++):
Приступим
Если вы уже знакомы с VBS скриптами и батниками, то скорее всего нижеследующие примеры вам будут неинтересны, если же вы новичок, то для первоначального ознакомления — то, что нужно.
Научим компьютер здороваться
- Открываем Блокнот (или Notepad Plus Plus).
- Копируем в вставляем код:
Set sapi=CreateObject(«sapi. spvoice»)
sapi. Speak «Hello!»
Один нюанс: если вы прописали в кавычках слова русскими буквами, а при запуске произносится непонятно что, то у вас просто не установлен русский голосовой движок. Подробная установка и настройка голосового движка выходит за рамки нашей статьи, поэтому более подробно ознакомьтесь здесь и вновь возвращайтесь сюда.
Теперь, сделаем следующее: пропишем данный скрипт в автозагрузку, а это означает то, что при запуске компьютера вам будет произнесено написанное в программе слово (слова), если как в примере, то будет говорить — «Hello» при каждом включении компьютера. Как это сделать?
Все просто, программу (скрипт) добавить в автозагрузку можно таким же образом, то есть через такой же VBS скрипт. Создаем файл в блокноте, копируем/вставляем (Ctrl+C/Ctrl+V) следующий код:
Dim vOrg, objArgs, root, key, WshShell
root = «HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun»
KeyHP = «Program»
Set WshShell = WScript. CreateObject(«WScript. Shell»)
WshShell. RegWrite root+keyHP,»C:Privet. vbs /autorun»
Изменяем путь до скрипта «говорилки», вот эту строчку — C:Privet. vbs на свою. Прописываем где у вас лежит этот скрипт и как называется. Дальше сохраняем только что созданную мини программу в блокноте и запускаем. Все, теперь компьютер будет с вами здороваться пр каждом включении.
Открыть дисковод
- Открыть блокнот. Скопировать/Вставить следующий код:
Set a = CreateObject(«WMPlayer. OCX.7»)
Есть более интересная модификация данного скрипта:
Set WMPlayer = CreateObject(«WMPlayer. OCX.7»)
WMPlayer. CdRomCollection. Item(0).Eject()
В данном случае будет все время открываться-закрываться CD/DVD-привод, на ноутбуках в этом случае будет открываться после каждого его закрытия.
Внимание! Второй код (открытие-закрытие дисковода), некоторые антивирусы видят как вредоносную программу. Антивирус Касперского (в т. ч. и Kaspersky Free ) его видит именно так и уничтожает сразу же. В первом же случае (просто открытие дисковода) для антивирусных программ не является вредоносным скриптом.
Чтобы прекратить автоматически открывать-закрывать дисковод необходимо:
- Запустить диспетчер задач (комбинация клавиш Windows — Ctrl+Alt+Del).
- Перейти на вкладку «Процессы».
- Найти процесс wscript. exe — правая кнопка мыши — завершить процесс.
Интересная находка из Сети — игра на VBS. Необходимо угадать число от 0 до 100. Скрипт автоматически при запуске задает (разгадывает) число, которое вам необходимо угадать и ввести в специальном окошке, при неправильном ответе даются подсказки, например меньше или больше.
Ниже тот самый код который необходимо скопировать и вставить в блокнот, далее сохранить (расширение. vbs).
Вы также можете изменять сообщения по своему, все что написано кириллицей без проблем редактируется. Не бойтесь сломать код. Поэкспериментируйте. В случае чего заново скопируйте рабочий код отсюда.
Set y = CreateObject(«Scripting. FileSystemObject»)
Set y = Nothing
a = 0
u = 0
Randomize
Number = Int((RND*99)+1)
MsgBox «Я загадал число от 1 до 100, попробуй отгадать»,64,»Угадайка»
a = a + 1
c = InputBox(«Угадай число» & vbCrLf & vbCrLf & «Попытка: » & a & vbCrLf & vbCrLf & «Чтобы посмотреть результаты введите число !» & vbCrLf & vbCrLf & «Для выхода оставьте поле пустым» & vbCrLf & vbCrLf,»Угадайка»)
If c = «!» Then CreateObject(«WScript. Shell»).Run «notepad C:WindowsResult. dll»,3,True. Exit Do
If c <> «» Then
If IsNumeric(c) = True Then
If CInt(c) < Number Then MsgBox «Нет, это не » & c & «. Я загадал число больше»,64,»Угадайка»
If CInt(c) > Number Then MsgBox «Нет, это не » & c & «. Я загадал число меньше»,64,»Угадайка»
If CInt(c) = Number Then
Set y = CreateObject(«Scripting. FileSystemObject»)
MsgBox («Количество попыток: » & a)
If MsgBox («Правильно, это было число » & c & «. Начать заного?»,36,»Угадайка») = 6 Then Exit Do Else WScript. Quit
End If
Else
MsgBox «Это не число!»,16,»Угадайка»
a = a — 1
End If
If l = 6 Then WScript. Quit
End If
Loop
Ну и перед тем как переходить к батникам (.BAT) воспользуемся самым полезным VBS скриптом из всех перечисленных в этой статье.
Скрипт закрывающий wscript. exe
Сам скрипт:
Set TaskKill = CreateObject(«WScript. Shell»)
TaskKill. Run «TaskKill /f /im wscript. exe»
По сути он делает тоже самое, что чуть выше объяснялось в диспетчере задач, как например нельзя просто взять и закрыть надоедливый скрипт открывающий-закрывающий дисковод, а запустив данный скрипт все запущенные будут закрыты. Это как клин клином вышибают.
Немного познакомились с VBS скриптами и о том как их писать в блокноте, теперь рассмотрим несколько примеров использования BAT файлов (далее — батник).
Завершение работы /Перезагрузка компьютера
Совсем простой батник состоящий всего из одной строки.
- Открываем Блокнот.
- Пишем следующий код:
shutdown — s — t 1 — c — f
Есть такой вариант кода:
shutdown — r — t 1 — c — f
Все также, прописываем в блокноте, сохраняем с расширением. bat и после запуска компьютер перезагрузится (обычная перезагрузка компьютера).
Удаление обновлений
Данный батник пригодится в том случае, если вы уже обновились до Windows 10. В чем суть? В этом батнике перечислены команды по удалению нескольких обновлений, как видно из названия — обновления телеметрии, или как раз одна из шпионских штучек системы, мы однажды уже говорили как отключить функции слежки Windows 10. в данном же случае вы просто создаете батник, в содержимое копируете код ниже и запускаете, после чего будут удалены перечисленные обновления.
@echo
echo
echo Step 1: Delete Updates Telemetry
wusa /uninstall /kb:3068708 /quiet /norestart
wusa /uninstall /kb:3022345 /quiet /norestart
wusa /uninstall /kb:3075249 /quiet /norestart
wusa /uninstall /kb:3080149 /quiet /norestart
Таким образом можно удалить абсолютно любое обновление, даже назойливое KB971033 которое проверяет копию Windows 7 на подлинность .
В Интернете встречается много различных скриптов, якобы безвредных, но будьте осторожны, прежде чем пробовать непонятно какой скрипт, некоторые из них могут навредить, например — вносить изменения в реестр, а в случае каких ошибок система будет выдавать ошибки, в таком случае придется или восстанавливать реестр Windows или сделать восстановление системы.
как взломать скрипт
зачем скриптов
куда кидать скрипты
This entry was posted in Как сделать скрипт and tagged включены, запуск, компьютере, строка. Bookmark the <a href=»https://iprowebber.ru/pishem-programmy-skripty-v-bloknote-windows/» title=»Permalink to Пишем программы (скрипты) в Блокноте Windows» rel=»bookmark»>permalink</a>.
Рассмотрим мощный инструмент автоматизации рутинных задач в семействе операционных систем Windows.
BAT-файл — это последовательность команд для интерпретатора командной строки в виде текстового файла с расширением .bat или .cmd. Основное предназначение пакетных файлов — автоматизация рутинных действий пользователя компьютера.
Название BAT появилось от английского batch — пакетная обработка. В истории продуктов Microsoft пакетные файлы существовали с первой версии MS-DOS в 80-х годах и позже успешно интегрировались в Microsoft Windows. В MS-DOS командным интерпретатором выступает COMMAND.COM, а начиная с Windows NT и до сих пор используется CMD.EXE.
Интерпретатор COMMAND.COM принимает файлы с расширением .BAT. Расширение .CMD создано для интерпретатора CMD.EXE с целью различать файлы для «старого» и «нового» интерпретаторов. CMD.EXE корректно обрабатывает оба расширения.
Интерпретатор CMD.EXE является частью современных операционных систем семейства Microsoft Windows, несмотря на отсутствие развития с начала 2000-х.
Основы взаимодействия с bat-файлами
Пакетный файл bat — это текстовый документ со специальным расширением. Для создания своего первого bat-файла достаточно «Блокнота», который доступен в операционной системе. Для повышения удобства написания и поддержки bat-файлов рекомендуем использовать Notepad++ или любой другой текстовый редактор с подсветкой синтаксиса.
Создание bat-файлов
Для создания пакетных файлов необходимо открыть текстовый редактор и в меню Файл выбрать Сохранить как….
В появившемся окне выбрать Тип файла → Все файлы и задать имя с расширением .bat, как продемонстрировано на изображении выше. По умолчанию Windows скрывает расширения файлов, и пакетный файл можно отличить от текстового по пиктограмме окна с шестеренками.
Если вы ошиблись при сохранении и пакетный файл сохранился с расширением txt, то не обязательно совершать повторное сохранение. Можно включить отображение расширения имен файлов и переименовать файл.
Запуск bat-файлов
Запуск пакетных файлов производится двойным кликом по иконке. Дополнительно можно использовать команду Открыть из контекстного меню, которое доступно при нажатии правой клавиши мыши (ПКМ) по файлу. Если для выполнения команд требуются права администратора, то в том же контекстном меню есть пункт Запуск от имени администратора.
Исполняемые bat-файлы не могут запрашивать права администратора, если командам нужны расширенные права.
Запуск через контекстное меню откроет командный интерпретатор, в котором выполнятся команды bat-файла. По завершении команд окно закроется. Такое поведение неприемлемо, если от пакетного файла требуется какая-то обратная связь — например, сообщение об ошибке или результат вычислений. В таком случае интерпретатор следует запустить вручную и передать ему пакетный файл.
Для запуска интерпретатора командной строки необходимо открыть меню Выполнить сочетанием клавиш Win + R, вписать cmd и нажать ОК.
Для запуска пакетного файла его необходимо перенести мышкой в открывшееся окно и нажать Enter. Команды bat-файла будут выполнены, а его вывод вы увидите на экране.
Вне зависимости от способа запуска откроется окно, которое может привлекать внимание и раздражать. Для запуска в «скрытом» режиме необходимо использовать другой скриптовой язык Microsoft Windows — VBScript.
По аналогии создаем файл с расширением .vbs и заполняем его следующими командами:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "С:путьдовашегоскрипта.bat" & Chr(34), 0
Set WshShell = Nothing
Для скрытого запуска следует запускать созданный файл, а не bat-файл. Скрытый запуск bat-файла актуален для автоматизации действий по расписанию, например, создание резервной копии.
Запуск по расписанию
За выполнение действий по расписанию отвечает Планировщик заданий. Открываем меню Выполнить и запускаем программу taskschd.msc.
Выбираем пункт Создать простую задач и заполняем параметры задания:
- имя для простой идентификации,
- периодичность и время запуска,
- действие — Запустить программу,
- программа или сценарий — путь до вашего .bat-файла или .vbs-файла, который запускает .bat-файл скрытно.
Обратите внимание, что планировщик позволяет не только выполнять действие по времени, но и при наступлении события — например, при загрузке компьютера. Такой подход является альтернативой автозагрузке.
В случае разработки собственного bat-файла следует ознакомиться с основами командного интерпретатора.
Команды и синтаксис пакетных файлов
Командный интерпретатор выполняет команды из файла последовательно — строка за строкой. Исключение составляет только оператор GOTO, который «отправляет» к указанной строке. Командный интерпретатор выполняет два вида команд: встроенные команды и внешние исполняемые файлы.
Внешние исполняемые файлы — это любой исполняемый файл, то есть с расширением EXE, CMD или BAT, который доступен в операционной системе. Например, «Блокнот» — это исполняемый файл notepad.exe. Следующая команда приведет к запуску этого приложения с открытым файлом C:1.txt:
notepad.exe C:1.txt
Аргументом может быть не только путь, но и ключ — специальный аргумент, который начинается с символа слэш (/). У каждой программы свой «реестр» ключей и их значений.
Обратите внимание, что не все внешние команды «понимают» аргументы, переданные из интерпретатора командной строки. Например, исполняемый файл приложения калькулятор, calc.exe, игнорирует все аргументы командной строки. Внешним исполняемым файлом может быть в том числе другой bat-файл.
Встроенные команды — это команды, которые являются частью интерпретатора командной строки. Полный список команд доступен по команде HELP. Данные команды не имеют отдельного исполняемого файла.
Иногда в имени файла или каталога встречаются пробелы. Наиболее очевидный пример — каталог Program Files на диске C. В этом случае помогают кавычки. Их можно расставить различными способами. Например:
cd "C:Program Files123"
cd C:”Program Files”123
Операционная система Windows запрещает использование множества специальных символов в именах файлов, в том числе кавычки, поэтому проблем с указанием файлов не возникнет.
Оставлять комментарии при разработке — хороший тон. Так можно объяснить выполняемые действия и потенциальные ошибки. В пакетных файлах можно оставлять комментарии несколькими способами.
Официальный способ — команда rem или два двоеточия.
rem Это первый комментарий
:: Это тоже комментарий
Перечисленные команды позволяют оставлять однострочные комментарии. Если хочется оставить развернутый многострочный комментарий, то прибегают к хитрости с командной GOTO.
goto start
===
Здесь можно оставить большой комментарий,
лицензию или даже ASCII-арт
===
:start
В конце комментария задаем имя метки, а в начале комментария выполняем команду GOTO c именем метки. Этот способ требует внимания, так как для каждого комментария должна быть своя метка, иначе выполнение bat-файла может отличаться от ожидания разработчика.
Совместимость с MS-DOS
В старых ОС, таких как MS-DOS, было ограничение на отображение имени файлов. На экран выводилось восемь символов имени, точка и три символа расширения. Если имя файла превышало по длине восемь символов, то имя файла отображалось по следующей схеме:
<первые шесть символов имени>~<порядковый номер>
Например, каталог Program Files выглядит следующим образом:
Progra~1
В современных операционных системах такое отображение не применяется, но CMD.EXE до сих пор поддерживает такие запросы к файлам и каталогам.
Используйте bat-файлы в работе с выделенным сервером
Выберите подходящий из более 100 готовых конфигураций.
Подобрать сервер
Примеры bat-файлов
Рассмотрим несколько примеров bat-файлов. Начнем с базовых команд.
Обновление IP-адреса
Представим простой пример: необходимо обновить аренду IP-адресов на всех сетевых интерфейсах. В командной строке это делается одной командой:
ipconfig /renew
Данная команда генерирует много текстового вывода, который может испугать неподготовленного пользователя. Сама команда также может быть непривлекательной. Поэтому отключим отображение команды и перенаправим вывод выполнения в «никуда». Вместо слова NUL может быть любое имя или путь. Тогда вывод будет перенаправлен в указанный файл.
rem Отключаем отображение команд. Символ @ отключает отображение текущей команды
@echo off
rem Переводим вывод выполнения в устройство NUL, вывод исчезнет
ipconfig /renew > NUL
При запуске такого скрипта появляется черное окно, которое быстро исчезает. Можно оставить простые и понятные пользователю сообщения и не дать окну закрыться.
@echo off
echo Выполняется настройка, пожалуйста, подождите...
ipconfig /renew > NUL
echo Все хорошо.
rem Эта команда остановит выполнение до тех пор, пока пользователь не нажмет любую клавишу
pause
Скорее всего данный скрипт выведет набор непонятных символов вместо сообщения. Дело в том, что в русскоязычных ОС Windows по умолчанию в CMD.EXE используется кодировка CP866. Блокнот сохраняет в CP1251 (Windows-1251), а Notepad++ — в UTF-8. Для решения проблемы необходимо сменить кодировку интерпретатора командой chcp или сохранить bat-файл в кодировке интерпретатора.
rem Смена кодировки на Windows-1251
chcp 1251 > NUL
rem Смена кодировки на UTF-8
chcp 65001 > NUL
Я сохранил файл в кодировке UTF-8 и итоговый скрипт получился таким:
@echo off
chcp 65001 > NUL
echo Выполняется настройка, пожалуйста, подождите...
ipconfig /renew > NUL
echo Все хорошо.
pause
Создание резервной копии каталога
Перейдем к более жизненной ситуации — создание резервной копии (backup) каталога. Предположим, что каждый архив должен иметь в названии дату создания копии. Создадим каталог, имя которого — текущая дата. Текущая дата хранится в переменной DATE. Для обращения к переменным название переменной помещается между знаками процента.
mkdir %DATE%
cd %DATE%
Копирование файлов в текущий каталог производится командой COPY.
rem файлы 1.txt и 2.txt будут скопированы в текущую папку
COPY C:1.txt C:2.txt .
rem файл 3.txt будет сохранен в текущую папку как example.txt
COPY C:1.txt .example.txt
Возможно, в резервную копию необходимо дополнить служебную информацию — например, список файлов в корне копии и имя компьютера.
rem Имя компьютера записывается в файл computer.txt
hostname > computer.txt
rem Список файлов в текущем каталоге записывается в files.txt
dir . > files.txt
Обычно резервные копии хранят в zip- или rar-архивах. Из командной строки отлично управляется архиватор 7z.
cd ..
7z -tzip a backup.zip %DATE%
Переименование файлов
Переименование файлов в Windows производится командой RENAME. Однако эта команда имеет свои особенности.
Во-первых, переименование возможно только в рамках одного диска и одного каталога. Между каталогами одного диска допустимо перемещение, а между разными дисками — только копирование.
rename abc.txt cba.txt
Во-вторых, возможно переименование по маске. Допустим, есть список фотографий photo000.jpeg, photo001.jpeg и так далее. Нужно сменить префикс с photo на mobile.
rename photo* mobile*
Если в текущем каталоге есть другие файлы с префиксом photo, а переименовать надо только изображения с расширением jpeg, то команда модифицируется:
rename photo*.jpeg mobile*.jpeg
Удаление файлов
Программы и пользователи оставляют следы работы в виде файлов, которые не удаляются автоматически. К счастью, процесс очистки поддается автоматизации.
Предположим, что в процессе работы пользователя генерируется большое количество файлов с расширением jpeg, которые нужно удалять. На помощь приходит оператор цикла FOR.
rem Ищем все файлы с расширением jpeg в каталоге work
rem Ключ /r включает в поиск все подкаталоги в каталоге work
for /r work %%file in (*.jpeg) do (
rem Выводим имя файла
echo %%file
delete %%i
)
Заключение
Командный интерпретатор CMD.EXE существует долгое время, но, даже несмотря на отсутствия развития, остается востребованным инструментом для автоматизации рутинных действий в операционной системе Microsoft Windows.
Дисклеймер
Мне 12 и я сам в этой теме плохо шарю, т.к. инфы в инете мало. Пж, без хейта.
Что такое батники и с чем их едят
Пакетный файл или в простонародье батник — это файл, который запускает командную сроку или сокращенно cmd, которая построчно интерпретирует команды, записанные в нем. Подробнее смотрите на https://ru.wikipedia.org/wiki/Пакетный_файл.
Первая программа и основные команды
Чтобы сделать батник, нужно сначала создать текстовый файл с именем test и изменить расширение c .txt на .bat. О том, как можно это сделать, читайте здесь: https://remontka.pro/file-extensions. У вас должен появиться файл с такой иконкой:
Нажимаем на него ПРАВОЙ кнопкой мыши. Должно появиться диалоговое окно. Нажмем «Открыть». Должен открыться блокнот, пишем:
@echo off
echo Hello world!
pause
В 1-ой сроке («@echo off») префикс ‘@ ‘ означает, что команда не будет выведена на экран(попробуйте его убрать ), сама же команда (echo) выводит текст следующий за ней(см. строку 2), НО, если подать строку «off», все последующие команды будут действовать так, как будто перед ними стоит префикс ‘@’, «echo on», соответственно, выключает этот режим. Чтобы вывести символ «%», его нужно дублировать, потом поймете почему :-), для вывода пустой строки поставьте «.» после «echo»
В 3-ей строке команда выводит строку «press any key to continue . . .» (если у вас русский язык — «Для продолжения нажмите любую клавишу . . .») и останавливает программу до нажатия любой клавиши.
Наводим красоту
Команда «rem»
не делает ничего и служит комментарием к коду
rem Это самая лучшая прога в мире!!!!!
Код включает русские символы и другие из ascii(например: «╬▓☼», можно скопировать с http://pascalguru.ru/psevdograf.html), иначе ascii символы превратятся в кракозябры:
chcp 65001
Следующий код код работает, как команда «pause», но ничего не выводит на экран и не реагирует на нажатие клавиш(я потом объясню, как это работает).
:m
goto m
А этот — меняет заголовок окна на «name»
title name
Эта команда меняет цвет фона и текста, вместо a и b можно поставить любые шестнадцатеричные цифры(команда не сработает если a = b) см. таблицу ниже. Запись c одной буквой «а» аналогично записи «0a»
color ab
Эта — досрочно завершает программу
exit
Переменные
Создать переменную можно с помощью команды set, синтаксис объявления следующий: P.S. это не совсем переменные, это скорее макросы (для тех к кто не знает C/C++ это именованный кусочек кода, имя которого заменяется на этот кусочек кода)
set a=Hello world
Если после «set» добавить флаг «/a» то:
-
Переменной задастся значение выражения, а не его текст, например:
set a=2+2 > 2+2 set /a a=2+2 > 4
-
Переменной можно присвоить ТОЛЬКО числовое значение
Чтобы обратиться к переменной, нужно окружить ее символами «%» (так %name%), пример кода:
set /a a=%b%+%b%
echo %a%
Подробнее о переменных
Если добавить флаг «/p», то выводиться значение после символа «=», а переменной задается введенное значение(запустите этот код:)
@echo off
set /p a=Enter str
echo %a%
pause
следующий код вырезает строку от символа номер «a» до символа номер «b» НЕ включительно(счет идет с нуля, отрицательные числа — счет с конца от единицы). Если аргумент один, то он присваивается числу «b», а «a» = 0
%str:~a,b%
следующий заменяет подстроки «a» в строке на строки «b»:
%str:a=b%
Циклы и условия
Цикл можно создать с помощью команды «for», синтаксис следующий:
for %%i in (a b c) do (
cmd
)
или такой
for %%i in (a b c) do cmd
(a b c) это список (не обязательно из 3-х элементов) и переменная %%i (нужно ставить символ после процентов, а не между) по очереди проходит по значениям в списке
Если добавить флаг «/l», то переменная в первый раз будет равна «a». К ней каждый раз будет прибавляться «b», пока она не станет больше «c»(тут размер ДОЛЖЕН равняться 3)
запустите этот код, тут все наглядно
@echo off
chcp 65001
echo Начало
for /l %%i in (1 1 10) do echo %%i
echo Конец
pause
Команда if выполняет код, если условие верно (или если поставить not после if, когда НЕ верно), вот операторы сравнения:
P.S. строки нужно брать в кавычки «%str%»==»Hello»
equ(==) |
= |
neq |
≠ |
lss |
< |
leq |
≤ |
gtr |
> |
geq |
≥ |
пример кода:
@echo off
set /p a=Enter number
if a gtr 0 echo positive else
if a equ 0 echo 0 else echo negative
pause
в 3-ей строке, если «a» > 0 выводиться «положительный»(на английском ), если равен — 0,в 4-ой если меньше — «отрицательный»
символ «» означает, что команда продолжается на следующей строке
Метки
Создадите файл start.bat в той же папке, где и test.bat, напишите в нем:
test.bat 2 2
Мы запустили батник, НО подали в него аргументы 2 и 2. Чтобы к ним обратиться, нужно написать %n, где «n» — номер аргумента, считая от одного(не от нуля), вот код, считающий сумму первого и второго аргумента (их может быть от нуля до 9-и):
@echo off
set /a res=%1+%2
echo res
pause
Метка — это именованное место в коде, она создается с помощью команды «:name»
А этот переходит на метку :m и продолжает выполнение, начиная с нее
rem куча кода
:m
rem куча кода
goto m
rem куча кода
И в завершение статьи, хочу сказать о команде call. Она превращает в последующей команде «%%» в «%», а переменные — на их значения. Пример использования:
call echo %%str:~%a%,%b%%%
Download Article
Download Article
- General Tips
- Creating a BAT Script
- Writing HTML Code
- Scripting in Python
- Writing a C++ Program
- Q&A
- Tips
- Warnings
|
|
|
|
|
|
|
Notepad is a text editor that comes pre-installed on Windows computers. Notepad isn’t just for taking notes and opening readme files. You can also use Notepad to make basic computer programs. You can do this by creating batch files that run scripts in the Windows Command Prompt. You can also write lines of code inside Notepad. This wikiHow teaches you how to make programs using Notepad.
Things You Should Know
- You can create batch files that run scripts in Windows Command Prompt or write lines of code.
- When saving BAT scripts, save as type «All Files» and type «.bat» after the file name.
- To run the batch file, double-click it to open the Command Prompt and run your script.
-
1
Open Notepad. Notepad has an icon that resembles a blue Notepad. You can use the following steps to open Notepad in the Windows Start menu:
- Click the Windows Start button.
- Type Notepad.
- Click the Notepad icon.
-
2
Determine your programming language. You can use any programming language in Notepad. However, it needs to be consistent throughout the entire program. You can also use batch script to create batch files that are executed in the Windows Command Prompt.
Advertisement
-
3
Press ↵ Enter after you complete each line of code. When writing code, you should always place each line of code on a separate line. This makes your code easier to read and easier to organize.
-
4
Use indentation. It is common practice in coding to indent lines of code that are part of the same block of code. Sometimes you may even have blocks of code within blocks of code. In this case, you may need to double or triple indent your lines of code. If a line of code has an open bracket, brace, or parenthesis, all lines of code after that should be indented until the there is a closing bracket, brace, or parenthesis.
-
5
Don’t be afraid to comment out. Most programming languages have a way for you to comment out. This renders a block of text inert so that it isn’t compiled or interpreted. This allows you to add comments to your code. For example, you can add a comment next to a line of code that briefly explains what the line of code does.
-
6
Make sure the syntax is correct. Notepad doesn’t have the ability to check or debug your code for you. You need to make sure the code you are entering is correct on your own. Do lots of proofreading. Make sure all your commands are spelled correctly and have the proper capitalization. Make sure you are using the correct opening and closing brackets or parenthesis for your coding language (e.g.,
{
or[
). Make sure all open lines of code have been closed. Make sure any special characters are being used correctly. -
7
Be sure to save the program with the correct file extension. By default, Notepad saves files as a text (.txt) file. This will not allow you to compile or run your program. When you save your program, you need to add the correct file extension for your programming language at the end of the file name. The following are a few file extensions that are used by common programming langauges:
- Batch (BAT): — .bat
- HTML: — .html
- CSS: — .css
- Java: — .java
- Python — .py
- Ruby: .rb.
- C: — .c
- C++ — .cpp
- C#: — .cs
-
8
Save your file the correct way. When you are ready to save your file, use the following steps to add the correct file extension to your program and save it the correct way:
- Click File.
- Click Save as.
- Use the drop-down menu next to «Save as type:» to select All Files(*.*).
- Type a name for the program or file next to «File name.»
- Add the correct file extension at the end fo the file name (including the period).
- Click Save.
Advertisement
-
1
Open Notepad. You can use batch scripts to create a basic text-based program in the Command Prompt.
-
2
Enter your batch script commands. Batch script can be used to run basic programs and scripts for Windows in the Command Prompt. The following are a few basic batch commands:[1]
- @echo off — This removes all unnessessary text that can interfere with your program. This should always be the first command you enter.
- echo — This command displays whatever text is written after it in the Command Prompt (i.g. «echo Hello World» would display «Hello World» as a line of text in the Command Prompt.).
- echo. — The «echo.» command (with a period at the end) displays a blank line in the Command Prompt. This is useful to isolate lines of text and make them not look cluttered.
- pause — This command displays the prompt «Press any key to continue…» in the Command Prompt. This is used to create a break in your program. You can use this to allow the user time to read text in your program.
- cls — This command stands for «clear screen.» It clears all text from the screen.
- title — This command displays whatever text that follows in the title bar of the Command Prompt.
- color — This command allows you to change the color of the text in the Command Prompt by entering a corresponding letter or number after the command. You can see which letters and numbers corrispond to each color by typing «color/?» in the Command Prompt.
- exit — This command exits the program.
-
3
Make a complete script. There’s a lot you can do with batch scripts alone. You can make a calculator, make a program that locks and hides folders on your computer. You can even make a game. The following is an example of a script that creates a basic guessing game:[2]
-
@echo off color 0e title Guessing Game by seJma set /a guessnum=0 set /a answer=%RANDOM% set variable1=surf33 echo ------------------------------------------------- echo Welcome to the Guessing Game! echo. echo Try and Guess my Number! echo ------------------------------------------------- echo. :top echo. set /p guess= echo. if %guess% GTR %answer% ECHO Lower! if %guess% LSS %answer% ECHO Higher! if %guess%==%answer% GOTO EQUAL set /a guessnum=%guessnum% +1 if %guess%==%variable1% ECHO Found the backdoor hey?, the answer is: %answer% goto top :equal echo Congratulations, You guessed right!!! echo. echo It took you %guessnum% guesses. echo. pause
-
-
4
Save the file as a batch file. Use the following steps to save the script as a batch file:
- Click File.
- Click Save as.
- Use the drop-down menu next to «Save as type:» to select All Files(*.*).
- Type a name for the program or file next to «File name.»
- Type «.bat» after the file name.
- Click Save.
-
5
Run the batch file. After you save your batch file, simply navigate to the location you saved it to and double-click it to open the Command Prompt and run your batch script.
Advertisement
-
1
Open Notepad. HTML is primarily used for web design. It’s a really simple language to learn and a good place to start if you are new to programming.
-
2
Type <!DOCTYPE html> and press ↵ Enter. This line indicates to your web browser that this is an HTML document.
-
3
Type <html> and press ↵ Enter. This is the opening tag for your entire HTML code. There will need to be a closing tag at the end of the document. All your HTML code will go in between these two tags.
-
4
Type <body> and press ↵ Enter. This is the opening tag for the body of your HTML document. The body contains all the visual details of the document. This includes text, images, links, and embeded media.
-
5
Type <h1>Text</h1> and press ↵ Enter. This is the opening and closing tag for the text header of your document. This displays text in big, bold letters. Replace «Text» with whatever you want your header text to display.
- For example: to create a page with the heading «Hello!», you would type «
<h1>Hello!</h1>
» into Notepad.
- For example: to create a page with the heading «Hello!», you would type «
-
6
Type <p>Text</p> and press ↵ Enter. This is the opening and closing tag for your paragraph text. This displays text in regular small print. Replace «Text» with whatever you want your paragraph text to be.
- For example, you would type
<p>How are you today?</p>
into Notepad to display the phrase «How are you today?» below the heading.
- For example, you would type
-
7
Type </body> and press ↵ Enter. This is the closing body tag. This ends the body section of your HTML document.
-
8
Type </html> into Notepad. This is the closing tag of your HTML document. This closes out the entire document. This is usually the last line of code in an HTML document.
- HTML is one of the easiest programming languages to learn. If you want to learn more about HTML, it is recommended you do some further reading onlne.
-
9
Review your program’s code. It should look something like this:
-
<!DOCTYPE html> <html> <body> <h1>Hello!</h1> <p>How are you today?</p> </body> </html>
-
-
10
Save the file as an HTML file. Use the following steps to save the text as an HTML file:
- Click File.
- Click Save as.
- Use the drop-down menu next to «Save as type:» to select All Files(*.*).
- Type a name for the file or file next to «File name.»
- Type «.html» after the file name.
- Click Save.
-
11
Open the HTML file in a web browser. To see what you have created, navigate to where you saved your HTML file, right-click it and select Open with… Then select any web browser of your choice. This will open the HTML file in your web browser.
Advertisement
-
1
Install Python. In order to run Python files on your computer, you must first install Python. You can download Python from Python.org.
-
2
Open Notepad. Using the «print» command in Python, you can display any text that you want to.
-
3
Type print(" into Notepad. Make sure that there aren’t any spaces when you type the opening command.
-
4
Type Hello World! after the quotation mark. This is the text that will be displayed when the program runs.
- If you want, you can replace «Hello World!» with any other text you want.
-
5
Type ") at the end of your text. This program only requires one line of code. It should look something like the following:
-
6
Save the file as an Python file. Use the following steps to save the program as a Python file:
- Click File.
- Click Save as.
- Use the drop-down menu next to «Save as type:» to select All Files(*.*).
- Type a name for the program or file next to «File name.»
- Type «.py» after the file name.
- Click Save.
-
7
Open the Command Prompt. Use the following steps to open the Command Prompt in Windows:
- Click the Windows Start icon.
- Type CMD
- Click the Command Prompt icon.
-
8
Change to the file location of the Python file in the Command Prompt. You will need to know the exact location you saved the Python file to. Use the following steps to navigate to the folder the Python file is saved to in the Command Prompt:
- Navigate to the Python file in File Explorer.
- Right-click the folder name in the address bar at the top.
- Click Copy Address.
- Type cd in the Command Prompt (if it is located in a different drive location, such as a D: drive, you will need to type «D:» and press Enter to change to that drive location).
- Press Ctrl + V to paste the folder address.
- Press Enter
-
9
Type the file name of the Python file and press ↵ Enter. This runs the file in the Command Prompt. For example, if the file name is «hello.py», you would type «hello.py» and press Enter to execute it.
Advertisement
-
1
Download and install a C++ compiler. While you can write a C++ file in Notepad, you cannot compile a C++ program. For that you will need a separate compiler. There are a variety of C++ compilers for Windows, including Cygwin, Visual Basic, and GCC. Download and install a compiler of your choice.
-
2
Open Notepad. You’ll be using Notepad to create a basic C++ program that displays «Hello World!» when run.
-
3
Type in // followed by your program’s title. Typing two slash marks is how you comment out in C++. Any text typed after the two slash marks will not be compiled by the compiler. Type two slash marks followed by the name of your program at the top of the page.
-
4
Type #include <iostream> and press ↵ Enter. This is the preprocessor command. This command instructs C++ to run the following lines of code as a program.
-
5
Type int main () and press ↵ Enter. This declares the program’s function.
-
6
Type { and press ↵ Enter. This creates an open bracket. Your program’s main code will go between this open bracket and a closed bracket.
-
7
Type std::cout << "Hello World!"; and press ↵ Enter. This is the execution code of your program.
-
8
Type } . This adds the closing bracket and closes the program’s execution phase.
-
9
Review your program. It should look something like this:
-
//Hello World #include <iostream> int main () { std::cout << "Hello World!"; }
-
-
10
Save the file as an C++ file. Use the following steps to save the program as a C++ file:
- Click File.
- Click Save as.
- Use the drop-down menu next to «Save as type:» to select All Files(*.*).
- Type a name for the program or file next to «File name.»
- Type «.cpp» after the file name.
- Click Save.
- Click File.
-
11
Compile your program. The way you compile your program depends on which compiler you download. For some compilers, you will need to open the C++ file in the compiler itself. For some compilers, you may need to navigate to the «.cpp» file in the Command Prompt and type a specific command to compile the file. Once it is compiled, it will create an executable file (.exe) from the C++ file.
-
12
Open the executable file. Once you compile the C++ file, double-click the executable file (.exe) to run the program.
Advertisement
Add New Question
-
Question
How can I practice and learn to program?
Learn by using w3schools (a website) that has code examples for HTML, CSS, Javascript, and more. Get Notepad++ and become familiar with it.
-
Question
Can I use a notepad to create a quiz game?
Yes, you can.
-
Question
Can a kid make a program?
Yes, of course!
See more answers
Ask a Question
200 characters left
Include your email address to get a message when this question is answered.
Submit
Advertisement
-
C++ and HTML are two of the most commonly used programming languages in existence.
-
You can use virtually any programming language to create most programs, though some languages are better-suited to specific functions (e.g., HTML is ideal for creating webpages).
Show More Tips
Thanks for submitting a tip for review!
Advertisement
-
Always check your code before saving it. Saving a broken program can cause issues with your default program compiler.
Advertisement
About This Article
Article SummaryX
1. Open Notepad.
2. Enter your program’s code.
3. Click File, then click Save As….
4. Click the «Save as type» drop-down box, then click All Files.
5. Type the program’s extension (e.g., «.html») at the end of the name in the «File name» text box.
6. Click Save.
Did this summary help you?
Thanks to all authors for creating a page that has been read 901,240 times.
Is this article up to date?
Download Article
Download Article
- General Tips
- Creating a BAT Script
- Writing HTML Code
- Scripting in Python
- Writing a C++ Program
- Q&A
- Tips
- Warnings
|
|
|
|
|
|
|
Notepad is a text editor that comes pre-installed on Windows computers. Notepad isn’t just for taking notes and opening readme files. You can also use Notepad to make basic computer programs. You can do this by creating batch files that run scripts in the Windows Command Prompt. You can also write lines of code inside Notepad. This wikiHow teaches you how to make programs using Notepad.
Things You Should Know
- You can create batch files that run scripts in Windows Command Prompt or write lines of code.
- When saving BAT scripts, save as type «All Files» and type «.bat» after the file name.
- To run the batch file, double-click it to open the Command Prompt and run your script.
-
1
Open Notepad. Notepad has an icon that resembles a blue Notepad. You can use the following steps to open Notepad in the Windows Start menu:
- Click the Windows Start button.
- Type Notepad.
- Click the Notepad icon.
-
2
Determine your programming language. You can use any programming language in Notepad. However, it needs to be consistent throughout the entire program. You can also use batch script to create batch files that are executed in the Windows Command Prompt.
Advertisement
-
3
Press ↵ Enter after you complete each line of code. When writing code, you should always place each line of code on a separate line. This makes your code easier to read and easier to organize.
-
4
Use indentation. It is common practice in coding to indent lines of code that are part of the same block of code. Sometimes you may even have blocks of code within blocks of code. In this case, you may need to double or triple indent your lines of code. If a line of code has an open bracket, brace, or parenthesis, all lines of code after that should be indented until the there is a closing bracket, brace, or parenthesis.
-
5
Don’t be afraid to comment out. Most programming languages have a way for you to comment out. This renders a block of text inert so that it isn’t compiled or interpreted. This allows you to add comments to your code. For example, you can add a comment next to a line of code that briefly explains what the line of code does.
-
6
Make sure the syntax is correct. Notepad doesn’t have the ability to check or debug your code for you. You need to make sure the code you are entering is correct on your own. Do lots of proofreading. Make sure all your commands are spelled correctly and have the proper capitalization. Make sure you are using the correct opening and closing brackets or parenthesis for your coding language (e.g.,
{
or[
). Make sure all open lines of code have been closed. Make sure any special characters are being used correctly. -
7
Be sure to save the program with the correct file extension. By default, Notepad saves files as a text (.txt) file. This will not allow you to compile or run your program. When you save your program, you need to add the correct file extension for your programming language at the end of the file name. The following are a few file extensions that are used by common programming langauges:
- Batch (BAT): — .bat
- HTML: — .html
- CSS: — .css
- Java: — .java
- Python — .py
- Ruby: .rb.
- C: — .c
- C++ — .cpp
- C#: — .cs
-
8
Save your file the correct way. When you are ready to save your file, use the following steps to add the correct file extension to your program and save it the correct way:
- Click File.
- Click Save as.
- Use the drop-down menu next to «Save as type:» to select All Files(*.*).
- Type a name for the program or file next to «File name.»
- Add the correct file extension at the end fo the file name (including the period).
- Click Save.
Advertisement
-
1
Open Notepad. You can use batch scripts to create a basic text-based program in the Command Prompt.
-
2
Enter your batch script commands. Batch script can be used to run basic programs and scripts for Windows in the Command Prompt. The following are a few basic batch commands:[1]
- @echo off — This removes all unnessessary text that can interfere with your program. This should always be the first command you enter.
- echo — This command displays whatever text is written after it in the Command Prompt (i.g. «echo Hello World» would display «Hello World» as a line of text in the Command Prompt.).
- echo. — The «echo.» command (with a period at the end) displays a blank line in the Command Prompt. This is useful to isolate lines of text and make them not look cluttered.
- pause — This command displays the prompt «Press any key to continue…» in the Command Prompt. This is used to create a break in your program. You can use this to allow the user time to read text in your program.
- cls — This command stands for «clear screen.» It clears all text from the screen.
- title — This command displays whatever text that follows in the title bar of the Command Prompt.
- color — This command allows you to change the color of the text in the Command Prompt by entering a corresponding letter or number after the command. You can see which letters and numbers corrispond to each color by typing «color/?» in the Command Prompt.
- exit — This command exits the program.
-
3
Make a complete script. There’s a lot you can do with batch scripts alone. You can make a calculator, make a program that locks and hides folders on your computer. You can even make a game. The following is an example of a script that creates a basic guessing game:[2]
-
@echo off color 0e title Guessing Game by seJma set /a guessnum=0 set /a answer=%RANDOM% set variable1=surf33 echo ------------------------------------------------- echo Welcome to the Guessing Game! echo. echo Try and Guess my Number! echo ------------------------------------------------- echo. :top echo. set /p guess= echo. if %guess% GTR %answer% ECHO Lower! if %guess% LSS %answer% ECHO Higher! if %guess%==%answer% GOTO EQUAL set /a guessnum=%guessnum% +1 if %guess%==%variable1% ECHO Found the backdoor hey?, the answer is: %answer% goto top :equal echo Congratulations, You guessed right!!! echo. echo It took you %guessnum% guesses. echo. pause
-
-
4
Save the file as a batch file. Use the following steps to save the script as a batch file:
- Click File.
- Click Save as.
- Use the drop-down menu next to «Save as type:» to select All Files(*.*).
- Type a name for the program or file next to «File name.»
- Type «.bat» after the file name.
- Click Save.
-
5
Run the batch file. After you save your batch file, simply navigate to the location you saved it to and double-click it to open the Command Prompt and run your batch script.
Advertisement
-
1
Open Notepad. HTML is primarily used for web design. It’s a really simple language to learn and a good place to start if you are new to programming.
-
2
Type <!DOCTYPE html> and press ↵ Enter. This line indicates to your web browser that this is an HTML document.
-
3
Type <html> and press ↵ Enter. This is the opening tag for your entire HTML code. There will need to be a closing tag at the end of the document. All your HTML code will go in between these two tags.
-
4
Type <body> and press ↵ Enter. This is the opening tag for the body of your HTML document. The body contains all the visual details of the document. This includes text, images, links, and embeded media.
-
5
Type <h1>Text</h1> and press ↵ Enter. This is the opening and closing tag for the text header of your document. This displays text in big, bold letters. Replace «Text» with whatever you want your header text to display.
- For example: to create a page with the heading «Hello!», you would type «
<h1>Hello!</h1>
» into Notepad.
- For example: to create a page with the heading «Hello!», you would type «
-
6
Type <p>Text</p> and press ↵ Enter. This is the opening and closing tag for your paragraph text. This displays text in regular small print. Replace «Text» with whatever you want your paragraph text to be.
- For example, you would type
<p>How are you today?</p>
into Notepad to display the phrase «How are you today?» below the heading.
- For example, you would type
-
7
Type </body> and press ↵ Enter. This is the closing body tag. This ends the body section of your HTML document.
-
8
Type </html> into Notepad. This is the closing tag of your HTML document. This closes out the entire document. This is usually the last line of code in an HTML document.
- HTML is one of the easiest programming languages to learn. If you want to learn more about HTML, it is recommended you do some further reading onlne.
-
9
Review your program’s code. It should look something like this:
-
<!DOCTYPE html> <html> <body> <h1>Hello!</h1> <p>How are you today?</p> </body> </html>
-
-
10
Save the file as an HTML file. Use the following steps to save the text as an HTML file:
- Click File.
- Click Save as.
- Use the drop-down menu next to «Save as type:» to select All Files(*.*).
- Type a name for the file or file next to «File name.»
- Type «.html» after the file name.
- Click Save.
-
11
Open the HTML file in a web browser. To see what you have created, navigate to where you saved your HTML file, right-click it and select Open with… Then select any web browser of your choice. This will open the HTML file in your web browser.
Advertisement
-
1
Install Python. In order to run Python files on your computer, you must first install Python. You can download Python from Python.org.
-
2
Open Notepad. Using the «print» command in Python, you can display any text that you want to.
-
3
Type print(" into Notepad. Make sure that there aren’t any spaces when you type the opening command.
-
4
Type Hello World! after the quotation mark. This is the text that will be displayed when the program runs.
- If you want, you can replace «Hello World!» with any other text you want.
-
5
Type ") at the end of your text. This program only requires one line of code. It should look something like the following:
-
6
Save the file as an Python file. Use the following steps to save the program as a Python file:
- Click File.
- Click Save as.
- Use the drop-down menu next to «Save as type:» to select All Files(*.*).
- Type a name for the program or file next to «File name.»
- Type «.py» after the file name.
- Click Save.
-
7
Open the Command Prompt. Use the following steps to open the Command Prompt in Windows:
- Click the Windows Start icon.
- Type CMD
- Click the Command Prompt icon.
-
8
Change to the file location of the Python file in the Command Prompt. You will need to know the exact location you saved the Python file to. Use the following steps to navigate to the folder the Python file is saved to in the Command Prompt:
- Navigate to the Python file in File Explorer.
- Right-click the folder name in the address bar at the top.
- Click Copy Address.
- Type cd in the Command Prompt (if it is located in a different drive location, such as a D: drive, you will need to type «D:» and press Enter to change to that drive location).
- Press Ctrl + V to paste the folder address.
- Press Enter
-
9
Type the file name of the Python file and press ↵ Enter. This runs the file in the Command Prompt. For example, if the file name is «hello.py», you would type «hello.py» and press Enter to execute it.
Advertisement
-
1
Download and install a C++ compiler. While you can write a C++ file in Notepad, you cannot compile a C++ program. For that you will need a separate compiler. There are a variety of C++ compilers for Windows, including Cygwin, Visual Basic, and GCC. Download and install a compiler of your choice.
-
2
Open Notepad. You’ll be using Notepad to create a basic C++ program that displays «Hello World!» when run.
-
3
Type in // followed by your program’s title. Typing two slash marks is how you comment out in C++. Any text typed after the two slash marks will not be compiled by the compiler. Type two slash marks followed by the name of your program at the top of the page.
-
4
Type #include <iostream> and press ↵ Enter. This is the preprocessor command. This command instructs C++ to run the following lines of code as a program.
-
5
Type int main () and press ↵ Enter. This declares the program’s function.
-
6
Type { and press ↵ Enter. This creates an open bracket. Your program’s main code will go between this open bracket and a closed bracket.
-
7
Type std::cout << "Hello World!"; and press ↵ Enter. This is the execution code of your program.
-
8
Type } . This adds the closing bracket and closes the program’s execution phase.
-
9
Review your program. It should look something like this:
-
//Hello World #include <iostream> int main () { std::cout << "Hello World!"; }
-
-
10
Save the file as an C++ file. Use the following steps to save the program as a C++ file:
- Click File.
- Click Save as.
- Use the drop-down menu next to «Save as type:» to select All Files(*.*).
- Type a name for the program or file next to «File name.»
- Type «.cpp» after the file name.
- Click Save.
- Click File.
-
11
Compile your program. The way you compile your program depends on which compiler you download. For some compilers, you will need to open the C++ file in the compiler itself. For some compilers, you may need to navigate to the «.cpp» file in the Command Prompt and type a specific command to compile the file. Once it is compiled, it will create an executable file (.exe) from the C++ file.
-
12
Open the executable file. Once you compile the C++ file, double-click the executable file (.exe) to run the program.
Advertisement
Add New Question
-
Question
How can I practice and learn to program?
Learn by using w3schools (a website) that has code examples for HTML, CSS, Javascript, and more. Get Notepad++ and become familiar with it.
-
Question
Can I use a notepad to create a quiz game?
Yes, you can.
-
Question
Can a kid make a program?
Yes, of course!
See more answers
Ask a Question
200 characters left
Include your email address to get a message when this question is answered.
Submit
Advertisement
-
C++ and HTML are two of the most commonly used programming languages in existence.
-
You can use virtually any programming language to create most programs, though some languages are better-suited to specific functions (e.g., HTML is ideal for creating webpages).
Show More Tips
Thanks for submitting a tip for review!
Advertisement
-
Always check your code before saving it. Saving a broken program can cause issues with your default program compiler.
Advertisement
About This Article
Article SummaryX
1. Open Notepad.
2. Enter your program’s code.
3. Click File, then click Save As….
4. Click the «Save as type» drop-down box, then click All Files.
5. Type the program’s extension (e.g., «.html») at the end of the name in the «File name» text box.
6. Click Save.
Did this summary help you?
Thanks to all authors for creating a page that has been read 901,240 times.
Is this article up to date?
Загрузить PDF
Загрузить PDF
Из этой статьи вы узнаете, как написать программу в стандартном приложении «Блокнот» для Windows. Если коротко, то вам нужно будет построчно ввести код программы в Блокнот, а затем сохранить файл в формате необходимого языка программирования.
-
1
Ознакомьтесь с ограничениями Блокнота. Формально в Блокноте можно написать программу на любом языке программирования, но чтобы ее запустить, программу нужно сохранить в правильном формате.
- Файлы Блокнота по умолчанию сохраняются в виде текстовых документов.
-
2
Найдите и запустите Блокнот. Наиболее простой способ запустить Блокнот — открыть меню «Пуск»
, ввести блокнот, а затем нажать на синюю иконку Блокнота в верхней части меню «Пуск».
-
3
Выберите язык программирования. Блокнот не имеет ограничений в языках программирования, но для корректной работы программы вам придется использовать один и тот же язык во всем документе.
- Если вы не знаете ни одного языка программирования, воспользуйтесь одним из примеров, указанных в статье.
-
4
Завершив строку кода, нажмите ↵ Enter. Как и в большинстве редакторов кода, отдельные строки кода должны располагаться на разных строках Блокнота.
-
5
Закройте все открытые фигурные и квадратные скобки. Если вы открыли квадратную или фигурную скобки (
{
или[
), ее обязательно нужно закрыть, чтобы завершить строку кода. Несоблюдение этого правила приведет к ошибкам в коде. -
6
Подумайте об использовании специальной программы для редактирования кода. Хотя в Блокноте, безусловно, можно писать целые программы, на деле же все не так просто. Поскольку в Блокноте нет подсветки синтаксиса и автоматической разметки, он плохо подходит для написания крупных фрагментов кода.
- Notepad ++ — бесплатный и более удобный вариант для работы с кодом.
Реклама
-
1
Запустите Блокнот. Блокнот позволяет создавать и сохранять любую программу, независимо от используемого языка программирования.
-
2
Введите код программы. Убедитесь, что во всем документе используется один и тот же язык программирования.
-
3
Нажмите на Файл в верхнем левом углу окна «Блокнот», чтобы раскрыть выпадающее меню.
-
4
Нажмите на Сохранить как… в верхней части выпадающего меню, чтобы открыть окно «Сохранение».
-
5
Укажите папку для сохранения. Нажмите на папку (например, «Рабочий стол») в левой части окна «Сохранение», чтобы выбрать ее в качестве места расположения программы.
-
6
Нажмите на поле «Тип файла» в нижней части окна «Сохранение», чтобы раскрыть выпадающее меню.
-
7
Выберите пункт Все файлы в выпадающем меню. Это позволит вам сохранить файл Блокнота в виде любого типа программ.
-
8
Введите имя будущей программы. Нажмите на текстовое поле «Имя файла» и введите имя для своей программы.
-
9
Добавьте расширение к имени программы. Чтобы правильно сохранить программу, добавьте точку и метку расширения языка программирования сразу после имени программы. Вот перечень наиболее распространенных языков программирования и их расширений:
- пакетный файл (BAT) — .bat;
- HTML — .htm;
- Python — .py;
- C++ — .cpp.
- К примеру, чтобы сохранить пакетный файл с именем «арбузы», введите арбузы.bat в поле «Имя файла».
-
10
Нажмите на Сохранить в нижнем правом углу окна, чтобы сохранить программу в указанном формате. Чтобы запустить программу, щелкните по ней дважды (возможно, вас попросят выбрать программу для открытия файла).
Реклама
-
1
Запустите Блокнот. Попробуйте создать программу, которая бы запускала другую программу на компьютере, используя скриптовый язык (BAT).
-
2
Введите имя исполняющего файла для выведения Командной строки. Введите cmd.exe в Блокнот.
-
3
Сохраните программу. Убедитесь, что в конце имени файла указано расширение .bat.
-
4
Дважды щелкните по пакетному файлу. Так вы откроете окно командной строки.
Реклама
-
1
Запустите Блокнот. Если вы хотите создать веб-страницу, отличным языком для этой работы будет HTML.
-
2
Укажите, что вы будете использовать именно язык HTML. Введите
!DOCTYPE html
и нажмите ↵ Enter. -
3
Добавьте метку HTML. Введите в Блокнот
html
и нажмите ↵ Enter. -
4
Определите текстовый раздел программы. Введите в Блокнот
body
и нажмите ↵ Enter. Эта строка указывает, что далее в документе будет идти раздел информации (в данном случае текст). -
5
Добавьте заголовок страницы. Введите в Блокнот
<h1>Текст</h1>
и нажмите ↵ Enter, заменив слово «Текст» заголовком страницы.- К примеру, чтобы создать страницу с заголовком «Привет!», введите в Блокнот
<h1>Привет!</h1>
.
- К примеру, чтобы создать страницу с заголовком «Привет!», введите в Блокнот
-
6
Добавьте текст на свою страницу. Введите
<p>текст</p>
и нажмите ↵ Enter, заменив слово «текст» текстовыми данными.- К примеру, если вы введете в Блокнот
<p>Как дела?</p>
, сразу после заголовка появится фраза «Как дела?».
- К примеру, если вы введете в Блокнот
-
7
Закройте текстовый раздел. Введите
</body>
и нажмите ↵ Enter. -
8
Укажите конец HTML программы. Введите
</html>
. -
9
Просмотрите код своей программы. Он должен выглядеть следующим образом:
<!DOCTYPE html>
<html>
<body>
<h1>Привет!</h1>
<p>Как дела?</p>
</body>
</html>
-
10
Сохраните программу. При сохранении убедитесь, что выбрали расширение .htm.
-
11
Дважды щелкните по HTML-файлу, чтобы открыть его в браузере по умолчанию. Возможно, сначала вам будет предложено выбрать программу. Заголовок и текст программы появятся в новой вкладке браузера.
Реклама
-
1
Запустите Блокнот. С помощью команды «print» в Python можно отобразить любой желаемый текст.
-
2
Введите команду «print». Введите в Блокнот
print("
. Убедитесь, что между символами нет пробелов. -
3
Добавьте текст, который хотите отобразить. Введите Привет!.
-
4
Закройте команду «print». Введите
")
, чтобы закрыть команду. -
5
Ваш код должен выглядеть следующим образом:
print("Привет!")
-
6
Сохраните программу. При сохранении убедитесь, что выбрали расширение .py. Теперь программу можно будет открыть в любом редакторе Python.
Реклама
-
1
Запустите Блокнот. В данном примере мы рассмотрим создание простой программы на C++, которая при запуске будет отображать на экране фразу «Hello World!».
-
2
Добавьте название программы. Введите
//
, а затем название программы (например, «Моя первая программа»). Любой текст в строке, идущий после двух косых черт, отобразится как обычный текст (не являясь частью программы).- К примеру, чтобы обозначить свою программу как «Программа 1», введите в Блокнот:
//Программа 1
.
- К примеру, чтобы обозначить свою программу как «Программа 1», введите в Блокнот:
-
3
Введите директиву препроцессора. Введите
# include <iostream>
и нажмите ↵ Enter. Эта команда сообщает C++, что следующие строки кода нужно запускать в виде программы. -
4
Объявите функцию программы. Введите
int main ()
и нажмите ↵ Enter. -
5
Добавьте открытую скобку. Введите в Блокнот
{
и нажмите ↵ Enter. Основной код программы будет заключен между этой открытой скобкой и ее закрывающей парой. -
6
Введите исполняющий код программы. Введите
std::cout << "Hello World!";
и нажмите ↵ Enter. -
7
Добавьте закрывающую скобку. Введите
}
, чтобы завершить исполняющий код программы. -
8
Просмотрите свою программу. Она должна выглядеть следующим образом:
//Название программы
#include <iostream>
int main ()
{
std::cout << "Hello World!";
}
Реклама
-
Сохраните программу. При этом не забудьте указать расширение .cpp. Сохраненную программу можно будет запустить в любом компиляторе C++.
9
Советы
- C++ и HTML — два из наиболее часто используемых языка программирования.
- Большинство программ можно написать практически на любом языке программирования, хотя некоторые языки лучше подходят для определенных задач (например, язык HTML идеально подходит для создания веб-страниц).
Предупреждения
- Всегда проверяйте код перед тем, как его сохранить. Сохранение неисправной программы может привести к проблемам со стандартным компилятором.
Об этой статье
Эту страницу просматривали 190 276 раз.
Была ли эта статья полезной?
6,950
С этой статьей вы не научитесь программировать и даже не напишите как таковую программу, но найдете здесь отличные VBS скрипты и BAT файлы, которые без проблем напишете в обычном блокноте Windows, сможете усовершенствовать по своему, потом похвастаться перед друзьями и близкими. Возможно это поднимет вам настроение и вы отлично проведете время.
Большинство похожих скриптов пишутся для удобства и автоматизации каких-либо действий на компьютере с ОС Windows. Представленные же ниже скрипты мало окажутся полезными (может мне так кажется), но они отлично подойдут для первоначального знакомства с «кодингом». Вы отлично проведете время, удивив как себя, так и знакомых чайников (не программистов), плюс это еще один хороший вариант .
Немного терминологии:
- VBS — язык программирования для создания скриптов в ОС Windows, создается/редактируется в Блокноте Windows, имеет разрешение «.vbs». Думаю, продолжать не имеет смысла, ибо это мало о чем скажет, особенно новичкам. Интересующимся — .
- BAT — пакетный файл, в народе просто «батник». Расширение файла «.bat». Дальше аналогично — .
Данных расширений (vbs, bat) файлы создаются во всеми известном Блокноте Windows (Notepad). Для большего удобства создания скриптов рекомендуется использовать усовершенствованный (скажем так) блокнот — Notepad++. Он удобен подсветкой синтаксиса большого количества языков программирования, если вам это мало о чем говорит, то скачайте и пишите в нем — ошибок сделаете меньше в коде, ну или будет их проще найти, чем в том же мало функциональном Блокноте Windows.
Для наглядности пример (слева — Блокнот Windows, справа — Notepad++):
Приступим
Если вы уже знакомы с VBS скриптами и батниками, то скорее всего нижеследующие примеры вам будут неинтересны, если же вы новичок, то для первоначального ознакомления — то, что нужно.
Научим компьютер здороваться
- Открываем Блокнот (или Notepad Plus Plus).
- Копируем в вставляем код:
Set sapi=CreateObject(«sapi.spvoice»)
sapi.Speak «Hello!» - Обязательное условие: кавычки должны быть “такими”, «ёлочки» не подойдут, скрипт не будет обрабатываться и выйдет ошибка. Вместо слова «Hello» можете написать что угодно, даже по русски, при наличии русского голосового движка.
- Дальше выбираем Файл — Сохранить как — Тип файла — Все файлы — название.vbs
- Называйте файл как хотите, но не забудьте в конце прописать расширение — .vbs (пример — Privet.vbs).
- Теперь пробуйте проверить свой скрипт — запустите файл двойным щелчок мыши.
Один нюанс:
если вы прописали в кавычках слова русскими буквами, а при запуске произносится непонятно что, то у вас просто не установлен русский голосовой движок. Подробная установка и настройка голосового движка выходит за рамки нашей статьи, поэтому более подробно ознакомьтесь и вновь возвращайтесь сюда.
Теперь, сделаем следующее: пропишем данный скрипт в автозагрузку, а это означает то, что при запуске компьютера вам будет произнесено написанное в программе слово (слова), если как в примере, то будет говорить — «Hello» при каждом включении компьютера. Как это сделать?
Все просто, программу (скрипт) добавить в автозагрузку можно таким же образом, то есть через такой же VBS скрипт. Создаем файл в блокноте, копируем/вставляем (Ctrl+C/Ctrl+V) следующий код:
Dim vOrg, objArgs, root, key, WshShell
root = «HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun»
KeyHP = «Program»
Set WshShell = WScript.CreateObject(«WScript.Shell»)
WshShell.RegWrite root+keyHP,»C:Privet.vbs /autorun»
Изменяем путь до скрипта «говорилки», вот эту строчку — C:Privet.vbs на свою. Прописываем где у вас лежит этот скрипт и как называется. Дальше сохраняем только что созданную мини программу в блокноте и запускаем. Все, теперь компьютер будет с вами здороваться пр каждом включении.
Открыть дисковод
- Открыть блокнот. Скопировать/Вставить следующий код:
Set a = CreateObject(«WMPlayer.OCX.7»)
Set b = a.CdromCollection
Set c = b.Item(0)
Set d = c.Eject - Сохранить с расширением.vbs
- Запустить скрипт и откроется дисковод.
Есть более интересная модификация данного скрипта:
Set WMPlayer = CreateObject(«WMPlayer.OCX.7»)
do
WMPlayer.CdRomCollection.Item(0).Eject()
loop
В данном случае будет все время открываться-закрываться CD/DVD-привод, на ноутбуках в этом случае будет открываться после каждого его закрытия.
Внимание!
Второй код (открытие-закрытие дисковода), некоторые антивирусы видят как вредоносную программу. Антивирус Касперского (в т.ч. и ) его видит именно так и уничтожает сразу же. В первом же случае (просто открытие дисковода) для антивирусных программ не является вредоносным скриптом.
Чтобы прекратить автоматически открывать-закрывать дисковод необходимо:
- Запустить диспетчер задач ( — Ctrl+Alt+Del).
- Перейти на вкладку «Процессы».
- Найти процесс wscript.exe — правая кнопка мыши — завершить процесс.
Игра
Интересная находка из Сети — игра на VBS. Необходимо угадать число от 0 до 100. Скрипт автоматически при запуске задает (разгадывает) число, которое вам необходимо угадать и ввести в специальном окошке, при неправильном ответе даются подсказки, например меньше или больше.
Ниже тот самый код который необходимо скопировать и вставить в блокнот, далее сохранить (расширение.vbs).
Вы также можете изменять сообщения по своему, все что написано кириллицей без проблем редактируется. Не бойтесь сломать код. Поэкспериментируйте. В случае чего заново скопируйте рабочий код отсюда.
Set y = CreateObject(«Scripting.FileSystemObject»)
Set y = Nothing
Do
a = 0
u = 0
Randomize
Number = Int((RND*99)+1)
MsgBox «Я загадал число от 1 до 100, попробуй отгадать»,64,»Угадайка»
Do
a = a + 1
c = InputBox(«Угадай число» & vbCrLf & vbCrLf & «Попытка: » & a & vbCrLf & vbCrLf & «Чтобы посмотреть результаты введите число!» & vbCrLf & vbCrLf & «Для выхода оставьте поле пустым» & vbCrLf & vbCrLf,»Угадайка»)
If c = «!» Then CreateObject(«WScript.Shell»).Run «notepad C:WindowsResult.dll»,3,True: Exit Do
If c <> «» Then
If IsNumeric(c) = True Then
If CInt(c) < Number Then MsgBox «Нет,это не » & c & «. Я загадал число больше»,64,»Угадайка»
If CInt(c) > Number Then MsgBox «Нет,это не » & c & «. Я загадал число меньше»,64,»Угадайка»
If CInt(c) = Number Then
Set y = CreateObject(«Scripting.FileSystemObject»)
MsgBox («Количество попыток: » & a)
If MsgBox («Правильно, это было число » & c & «. Начать заного?»,36,»Угадайка») = 6 Then Exit Do Else WScript.Quit
End If
Else
MsgBox «Это не число!»,16,»Угадайка»
a = a — 1
End If
Else
a = a — 1
l = MsgBox («Ты ничего не ввел. Выйти из программы?»,36,»Угадайка»)
If l = 6 Then WScript.Quit
End If
Loop
loop
Ну и перед тем как переходить к батникам (.BAT) воспользуемся самым полезным VBS скриптом из всех перечисленных в этой статье.
Скрипт закрывающий wscript.exe
Сам скрипт:
Set TaskKill = CreateObject(«WScript.Shell»)
TaskKill.Run «TaskKill /f /im wscript.exe»
По сути он делает тоже самое, что чуть выше объяснялось в диспетчере задач, как например нельзя просто взять и закрыть надоедливый скрипт открывающий-закрывающий дисковод, а запустив данный скрипт все запущенные будут закрыты. Это как клин клином вышибают.
Немного познакомились с VBS скриптами и о том как их писать в блокноте, теперь рассмотрим несколько примеров использования BAT файлов (далее — батник).
Совсем простой батник состоящий всего из одной строки.
- Открываем Блокнот.
- Пишем следующий код:
shutdown -s -t 1 -c -f
- Далее Файл — Сохранить как — нзвание.bat
- Обратите внимание на расширение файла, это уже не VBS скрипт, а батник, по этому в конце названия прописываем.bat (Пример compoff.bat).
- Запускаем только что созданный батник двойным щелчком мыши и компьютер выключится (Завершение работы).
Есть такой вариант кода:
shutdown -r -t 1 -c -f
Все также, прописываем в блокноте, сохраняем с расширением.bat и после запуска компьютер перезагрузится (обычная перезагрузка компьютера).
Удаление обновлений
Данный батник пригодится в том случае, если вы уже . В чем суть? В этом батнике перечислены команды по удалению нескольких обновлений, как видно из названия — обновления телеметрии, или как раз одна из шпионских штучек системы, мы однажды уже говорили как отключить , в данном же случае вы просто создаете батник, в содержимое копируете код ниже и запускаете, после чего будут удалены перечисленные обновления.
@echo
echo
echo Step 1: Delete Updates Telemetry
wusa /uninstall /kb:3068708 /quiet /norestart
wusa /uninstall /kb:3022345 /quiet /norestart
wusa /uninstall /kb:3075249 /quiet /norestart
wusa /uninstall /kb:3080149 /quiet /norestart
Таким образом можно удалить абсолютно любое обновление, даже назойливое KB971033
которое проверяет .
В Интернете встречается много различных скриптов, якобы безвредных, но будьте осторожны, прежде чем пробовать непонятно какой скрипт, некоторые из них могут навредить, например — вносить изменения в реестр, а в случае каких ошибок система будет выдавать ошибки, в таком случае придется или Windows или сделать восстановление системы.
Многие начинающие веб-программисты знакомятся с языком посредством книг. Книга бесспорно очень важна и нужна, но в ней приводятся примеры (для начинающих), которые по своей сути не являются правильными с точки зрения устойчивости и переносимости скрипта. Под устойчивостью понимается возможность возникновения ошибок различного вида, под переносимостью – тоже самое, но при переносе скрипта с домашней локальной машины на сервер хостнг-провайдера.
Ниже я бы хотел сразу показать начинающим веб-разработчикам как надо учиться сразу писать скрипты, чтобы затем не испытывать лишних проблем и не «ловить» непонятно откуда вылезающие ошибки.
Сразу скажу, что я сам с этим столкнулся, так что все это прошло через мои мучения….
Рассматривать я буду следующие моменты:
2. Где зарыта «@»?
3. register_globals = Off и никак иначе.
4. Основные аспекты синтаксиса. Литерал ор нот литерал…
1. Настройка PHP для локальной машины и на сервере.
Почему я именно с этой главы начинаю. Дело в том, что многие на локальной машине сразу отключают показ всех ошибок. Это – НЕ правильно. Вместо того чтобы тупо смотреть в монитор и искать, где, как окажется, не хватает точки с запятой, можно по ошибке, выдаваемой PHP сразу понять, в чем дело.
Но сначала хочу сделать небольшое лирическое отступление по части того, как настраивать PHP, как Apache modul или fast-CGI.
Самый оптимальный вариант – настраивать, как модуль веб-сервера. Для этого в конфигурационном файле httpd.conf веб-сервера Apache пишем следующие строчки:
LoadModule php4_module D:/bin/php/sapi/php4apache2.dll
AddType application/x-httpd-php .php .phtml .php4 .php
Отличие от FastCGI – следующие. Первое. При FastCGI php.ini будет подгружаться в память веб-сервера приблизительно каждый второй раз при запуске скрипта, при установке, как модуля Apache загрузка конфигурации PHP будет осуществляться только при загрузке или рестарте веб-севрера, само собой быстродействие и нагрузка на сервер будет меньше. Помимо этого, при установке как fastCGI недоступны определенные функции. Начинающему программисту они не понадобятся., но при разработке крупного Интернет-приложения вы можете столкнуться с проблемами. А проблемы лучше предотвращать.
Теперь перейдем к конфигурации самого PHP. В конфигурационном файле php.ini в обязательном порядке устанавливаем следующие директивы с ниже написанными значениями:
error_reporting = E_ALL
display_errors = On
display_startup_errors = On
Писать или не писать ошибки в лог файлы – это уже на ваше усмотрение.
На сервере в хостиг-компании, обязательно, выключайте все эти директивы в целях безопасности, дабы потенциальный злоумышленник не мог узнать пути, где лежат ваши скрипты. Но по хорошему, когда вы уже публикуете свой скрипт в глобальной сети, он не должен выдавать никаких ошибок.
Помимо этого
short_open_tag = Off
Для того, чтобы нельзя было использовать
По умолчанию директива max_execution_time имеет значение 30, но для быстроты работы, лучше ставить меньше. Если у вас что-то «зациклилось», то 10 секунд вполне достаточно чтобы понять это.
register_globals = Off
register_argc_argv = Off
В 3 главе я расскажу более подробно об этом…
magic_quotes_gpc = Off
Очень часто начинающие веб-разработчики не понимают разницы между ‘ и “, поэтому выключаем директиву. В 4 главе данный момент будет показан на примере…
2. Где зарыта «@»?
Это, пожалуй, самая основная ошибка начинающих программистов – использование “@”. Этот символ, перед каким-либо оператором подавляет вывод ошибки и ее запись в лог. Он не позволяет на стадии отладки отследить ошибку, и вы судорожно пытаетесь понять, в чем дело.
Яркий пример. Предположим, мы поставили символ “@” перед строчкой $f = fopen(“fle.txt” , “w+”);. Если взять только самые распространенные ошибки, которые могут возникнуть при последующей fwrite к примеру, то это: а) нет прав доступа к файлу, б) файл не существует, в) fopen не может быть вызвана в безопасном режиме. Представляете, сколько вариантов ошибок может быть? Уйма. И как вы собираетесь узнавать, какая ошибка возникла именно у вас, ведь вы подавили их вывод символом «@».
Поэтому строго на строго запрещаем вам использовать @.
Вы спросите, а как же тогда сделать, чтобы не выводилась ошибка?
Чтобы не выводилась ошибка ее надо либо предотвращать, как в случае с файлами, то есть а) проверять файл на существование, б) проверять, а можно (есть права) в него что-то записать is_writeable();.
В других случаях, например при использовании mysql_connect(); надо проверять значение, которое вернет функция. Как правило, по нему можно определить, есть ошибка или нет. Обычно при ошибке возвращается значение FALSE, NULL или пустая строка.
Это позволит вам, выдавать пользователю не пустую страницу, если, к примеру, он попытался обратиться к информации (?n=14), а информация хранится у вас в файлах, и файла 14 не существует, а текст сообщение: «Информация не найдена».
«Ловля» ошибок является также очень важным аспектом безопасности при работе скрипта.
3. register_globals = Off и никак иначе.
Если в первых двух главах я делал акцент на тех моментах, с которыми начинающий программист столкнется уже сразу, то в этой главе я расскажу о таком моменте, который проявится уже позже… зачастую с ним все сталкиваются при переносе скрипта (уже готового) на сервер хостинг провайдера. Лично я долго привыкал к register_globals = Off, поэтому товарищи, начинающие программисты, сразу ставьте эту директиву выключенной. Помимо этого, данный момент ОЧЕНЬ ВАЖЕН в обеспечении безопасности скрипта.
Итак. В чем же вся загвостка. Сначала рассмотрим случай, когда у нас register_globals = On. Как вы уже, наверное, знаете, данные в скрипт могут передаваться тремя способами, сказал грубо, на самом деле их два. Первый это GET, т.е. данные передаются через адресную строку браузера после символа “?”, второй – POST, при его использовании данные предаются в неявном для пользователя виде. Метод POST используется, как правило, для отправки данных формы. Ну и третий – это Куки, переданные от пользователя скрипту.
Рассмотрим такой случай. У нас есть форма, которая находится по адресу index.php? form. В форме несколько текстовых полей полей. Пусть это будет family, name, phone. Форма отправляется на тот же index.php но методом POST. Проверив все данные, мы записали пользователю две Куки с именами family и form, во второй мы записали время доступа к форме, к примеру.
Представим, что у нас часть файла index.php состоит из следующего кода, т.е. в случае если пользователь уже ввел данные на форме, они ему показываются, если нет – выводится форма. И все это по адресу index.php?form.
«;
print «Вы были тут: » . $form . «
«;
}
else
{
// Показываем нашу форму.
}
}
?>
А теперь задумайтесь.. Что будет в $form, ведь мы передаем переменную, как GET параметром, так и через Куки. Вот. Дальше вы судорожно будете искать ошибку в том, что, почему $form у вас пустое или наоборот.
Т.е. фактически все сводится к тому, что есть возможность подмены всех переменных. По сути это существенный минус в безопасности, поскольку очень велика вероятность того, что злоумышленник сможет посмотреть какие- либо важные файлы на сервере.
Теперь о том, как это реализовать под register_globals = Off
В PHP существуют несколько глобальных массивов. $_GET, $_POST, $_COOKIE, $_REQUEST (объединение первых трех, не рекомендуется в целях безопасности), $_FILES (для аплода файлов), $_SESSIONS (сессии), $_SERVER (серверные переменные), $_ENV (переменные среды), $GLOBALS (объединяет все).
Что это значит. Ниже я просто перепишу скрипт, данные мною ранее для register_globals = Off..
«;
print «Вы были тут: » . $_COOKIE[«form»] . «
«;
}
else
{
// Показываем нашу форму.
}
?>
Теперь никаких проблем не возникнет.
На всякий случай уточню, что в $_****[‘name’] вместо name надо написать имя текстового поля или Куки или параметра, переданного из адресной строки.
В этой же главе хочу рассмотреть следующий маленький пример. Опять же сначала рассмотрим пример с включенным register_globals.
Скрипт выведет значении $a равное 7. Т.е. по сути, мы имеем, что переменные доступные как внутри, так и вне функции. Это не есть хорошо, поскольку при большом скрипте таких переменных $a может быть уйма, а как следствие в любой функции значение переменно может быть изменено и результат выполнения скрипта будет непредсказуем.
Теперь, если тот же самый код выполнить при register_globals = Off, выведется 2. Поскольку изменения переменной $a внутри функции не затронут переменную $а в основном теле скрипта. Тут надо читать мануал про область видимости переменных.
Если же нам надо получить эту семерку, то надо возвращать из функции значение локальной $a и сохраняя это значение в глобальной $a.
4. Основные аспекты синтаксиса. Литерал ор но литерал…
1. Опять же многие начинающие программисты не понимают разницы между записью: $_POST[‘pole’] и $_POST. Первый вариант – синтаксически верен, а второй нет. PHP будет пытаться найти не элемент pole, а элемент с именем, которое хранится в константе pole, которой у вас – нет.
Кавычками обрамляются литералы, т.е. строки. Если у вас массив – индексный, то в нем не надо писать $_POST[‘1’], а надо $_POST.
Разницы между “ и ‘ нет.
2. Вывод переменных часто осуществляют таким образом:
print “My name is $name. I $age years old.”;
Такая строка «разбирается» интерпретатором намного должен, чем
Первый вариант наиболее предпочтителен, да и с точки зрения редактирования программного кода – легче понять, где у тебя переменная, а где у тебя текст.
Любой начинающий системный администратор Linux рано или поздно сталкивается с таким понятием, как “скрипт
”, будь то один из загрузочных скриптов вроде /etc/rc.d/rc
или написанный разработчиком ПО скрипт конфигурирования configure
. В данной статье я постараюсь показать, что написание скриптов на shell
не является чем-то из ряда вон выходящим и вполне под силу даже новичку в мире Linux.
Начнем с того, что разберем, что же скрывается за английскими терминами shell
и скрипт
. Shell
, или оболочка, как этот термин иногда переводят — это командный интерпретатор, интерфейс между пользователем и операционной системой, ее ядром. Но, кроме этого, это еще и мощный язык программирования и написания сценариев. Он содержит свои служебные слова и управляющие конструкции и позволяет писать на нем программы. Такая программа на языке сценариев, называемая скриптом
, может объединять в себе системные вызовы и команды операционной системы, а также внешние утилиты, создавая мощный инструмент для системного администрирования.
Одной из задач системного администрирования является резервное копирование важной информации. Поэтому давайте рассмотрим пример скрипта, реализующего back-up информации.
Начало начал
Итак, прежде всего, нам необходимо разобраться в структуре скрипта. Она не представляет собой ничего сложного. По большому счету, простейший скрипт — просто перечисление системных команд. Например:
Echo This is just example
whoami
uname -a
Эти команды объединены в одном файле. Но shell должен знать, что он должен этот файл обработать, а не просто прочесть его содержимое. Для этого служит специальная конструкция: #!
Эта конструкция называется «sha-bang
». Вообще-то, # задает комментарий, но в данном случает sha-bang означает, что после нее пойдет путь к обработчику скрипта. Напрмер:
#!/bin/bash
#!/bin/sh
#!/usr/bin/perl
Мы остановимся на Bash, Bourne-Again shell. Это shell устанавливается по умолчанию практически во всех Linux-системах, и /bin/sh ссылается на него. Об окончании скрипта говорит служебное слово exit.
Вооружившись этими знаниями, напишем наш первый скрипт:
#!/bin/bash
echo Простой скрипт # Команда echo выводит сообщение на экран
echo Вы:
whoami # whoami показывает имя зарегистрированного пользователя
echo Ваша система стартовала
uptime # uptime показывает время включения машины
echo Сегодня
date # date показывает текущую дату и время
echo Пока все
exit
Сохраним этот файл под именем tutor1.sh. Выполним команду чтобы сделать скрипт исполняемым.
Chmod +rx tutor1.sh
Результатом выполнения скрипта будет:
[email protected]:~/Doc/Open Source$ ./tutor1.sh
Простой скрипт
Вы:
voland
Ваша система стартовала
14:38:46 up 1:48, 2 users, load average: 0.47, 0.43, 0.41
Сегодня
Вск Фев 26 14:38:46 MSK 2006
Пока все
Переходим к более серьезному.
Теперь, когда мы научились писать простейшие скрипты, самое время перейти к серьезным вещам: написанию скрипта для резервного копирования.
Перво-наперво, необходимо определить — резервную копию чего мы будем делать. Поэтому наш скрипт должен уметь работать с командной строкой. Аргументы командной строки задаются после имени скрипта через пробел: somescript arg1 arg2 arg3. Скрипт воспринимает аргументы по номерам их следования, поэтому мы будем использовать конструкции вида $номер_аргумента, т.е. $1, $2, $3. $ — это символ подстановки, который нам понадобится и при работе с переменными. Переменные в скрипте задаются в виде имя_переменной=значение. Мы будем использовать переменные MAXPARAMS для определения максимального количества параметров командной строки, BACKUPFILE для задания имени архива, BACKUPDIR для папки, резервную копию которой мы будем делать и ARCHIVEDIR для папки, куды мы поместим архив. Самой главной частью скрипта будут команды поиска и архивации всех найденных файлов и папок в указанной:
Find . -type f -print0 | xargs -0 tar rvf «$archive.tar» > /dev/null
gzip $archive.tar
Давайте разберемся, что же эти команды делают. find ищет в текущем каталоге (об этом говорит первый аргумент «.») все файлы и выдает полный путь к ним (print0). Эти пути перенаправляюся команде tar, которая собирает все файлы в один. Затем командой gzip мы архивируем получившийся tar-файл. Команда > /dev/null
удобна, если вы архивируете большое количество файлов. В этом случае их имена и полный путь к ним не выводятся на консоль.
Следующий шаг должен предусмотреть подсказки пользователю как пользоваться скриптом, если он допустит какие-то ошибки.
Например, эта конструкция
If [ $# -lt «$MAXPARAMS» ];
then
echo
echo
exit 0
fi
подскажет, что пользователь указал недостаточное количество аргументов командной строки. If [условие]…fi
задает условную конструкцию. $# -lt «$MAXPARAMS»
проверяет введенное количество параметров и если это число окажется меньше MAXPARAMS, то пользователю будет выдано сообщение об ошибочном вводе. Exit 0 заставит скрипт прекратить работу без указания кода ошибки. Аналогично проверяется превышение допустимого числа параметров, только вместо ls (less then — меньше, чем), необходимо указать gt (greater then — больше, чем). Теперь, когда основные моменты скрипта разъяснены, можно переходить к полной его версии:
#!/bin/bash
# Описание:
#+ Делает резервную копию всех файлов в указанной директории
#+ в «tarball» (архив tar.gz).
#+ Использование:
#+ sh backup.sh имя_архива папка-источник папка-назначение
#+
# Максимальное количество параметров командной строки
MAXPARAMS=3
if [ $# -lt «$MAXPARAMS» ];
then
echo
echo «Использование: sh `basename $0` имя_архива папка-источник папка-назначение»
echo
exit 0
fi
if [ $# -gt «$MAXPARAMS» ];
then
echo
echo «Для этого скрипта нужно только $MAXPARAMS аргументов командной строки!»
echo
exit 0
fi
# Переменные, которые мы используем в скрипте
BACKUPFILE=$1-backup-$(date +%m-%d-%Y)
archive=$BACKUPFILE
BACKUPDIR=$2
ARCHIVEDIR=$3
# Проверяем, есть ли папка-источник и папка-назначение
if [ ! -e $BACKUPDIR ];
then
echo
echo «»$BACKUPDIR» не существует!»
echo
exit 0
fi
if [ ! -e $ARCHIVEDIR ];
then
echo
echo «»$ARCHIVEDIR» не существует, создаем…»
mkdir $ARCHIVEDIR
echo «Готово.»
fi
# Проверяем, есть ли архивы в источнике и назначении.
cd $ARCHIVEDIR
if [ -e $archive.tar.gz ];
then rm $archive.tar.gz
fi
cd $BACKUPDIR
if [ -e $archive.tar.gz ];
then rm $archive.tar.gz
fi
# Главная часть скрипта…
echo «Делаем резервную копию «$BACKUPDIR» в файл «$archive.tar.gz»…»
find . -type f -print0 | xargs -0 tar rvf «$archive.tar» > /dev/null
gzip $archive.tar
echo «»$BACKUPDIR» была успешно заархивирована в файл «$archive.tar.gz».»
# Перемещаем архив в папку ARCHIVEDIR
echo «Перемещаем архив «$archive.tar.gz» в папку «$ARCHIVEDIR».»
mv $archive.tar.gz $ARCHIVEDIR/$archive.tar.gz
echo «Готово.»
Надеюсь, основные моменты я прокомментировал достаточно подробно. Если у вас возникли какие-либо вопросы, то вы можете связаться со мной по адресу [email protected] Рекомендую также замечательную книгу Advanced Bash-Scripting Guide Менделя Купера (Mendel Cooper), которая очень помогла мне в свое время, когда я только знакомился со скриптами. Удачного программирования.
P.S. Большое спасибо mar
за ее замечания и советы.
Скрипт — это программа, создающая определенный «сценарий» или последовательность событий, которые произойдут в ответ на какое-либо действие пользователя или команду сервера. Скрипты позволяют значительно сэкономить время на создание программы, приложения или веб-сайта, однако могут незначительно замедлять их работу.
В этой статье мы расскажем, как писать скрипты на базе одном из самых популярных сейчас языков программирования JQuery, а также напишем о том, как использовать скрипты в ASP. NET.
JQuery
JQuery — самый лаконичный и краткий язык программирования на базе JavaScript, который упрощает работу с HTML-документами: с событиями, анимацией, а также с асинхронным JavaScript и XML. Его принципиально новый подход к веб-программированию, который позволяет значительно сократить время на изготовление сайта, уже полюбился многим программистам и его популярность продолжает расти.
Чтобы начать работать с данным языком программирования, вам необходимо будет вначале скачать библиотеку JQuery с официального сайта. Затем можно приступать к созданию скриптов. Например, создадим скрипт, который будет в браузере отображать фразу «Hello World»:
- jQuery Hello World
- This is Hello World by HTML
При открытии данного скрипта в браузере у вас отобразиться веб-страница с названием самого документа из заголовка jQuery Hello World, в котором будет отображен текст двух прописанных скриптов This is Hello World by JQuery и This is Hello World by HTML. Строчка используется для подключения самой библиотеки, но будьте внимательны, так как ваша версия файла может отличаться. Чтобы правильно прописать имя файла, зайдите в соответствующий каталог сайта: public_html/javascript/JQuery/имя_файла. js.
ASP. NET
ASP. NET — это технология веб-программирования от компании Microsoft, которая позволяет использовать в своей работе коды, написанные на любом из языков программирования, выполненном на программной платформе. NET Framework от Microsoft.
Руководства, как написать скрипт в ASP. NET, нет и быть не может, т. к. данное приложение использует уже готовые библиотеки скриптов MicrosoftAjax. js и MicrosoftMvcAjax. js или скрипты, написанные на других языках программирования. Чтобы создать ссылку на библиотеку скриптов, необходимо сделать следующее:
- В обозревателе решений откройте папку Views, а затем Shared.
- Двойным щелчком откройте Site. Master.
- В конце Head добавьте следующий фрагмент кода:.
Информацию о скриптах на других языках программирования вы найдете в статье .
Каким бы простым ни был графический интерфейс в Linux и сколько бы там ни было функций, все равно есть задачи, которые удобнее решать через терминал. Во-первых, потому что это быстрее, во-вторых — не на всех машинах есть графический интерфейс, например, на серверах все действия выполняются через терминал, в целях экономии вычислительных ресурсов.
Если вы уже более опытный пользователь, то, наверное, часто выполняете различные задачи через терминал. Часто встречаются задачи, для которых нужно выполнять несколько команд по очереди, например, для обновления системы необходимо сначала выполнить обновление репозиториев, а уже затем скачать новые версии пакетов. Это только пример и таких действий очень много, даже взять резервное копирование и загрузку скопированных файлов на удаленный сервер. Поэтому, чтобы не набирать одни и те же команды несколько раз можно использовать скрипты. В этой статье мы рассмотрим написание скриптов на Bash, рассмотрим основные операторы, а также то как они работают, так сказать, bash скрипты с нуля.
Скрипт или как его еще называют — сценарий, это последовательность команд, которые по очереди считывает и выполняет программа-интерпретатор, в нашем случае это программа командной строки — bash.
Скрипт — это обычный текстовый файл, в котором перечислены обычные команды, которые мы привыкли вводить вручную, а также указанна программа, которая будет их выполнять. Загрузчик, который будет выполнять скрипт не умеет работать с переменными окружения, поэтому ему нужно передать точный путь к программе, которую нужно запустить. А дальше он уже передаст ваш скрипт этой программе и начнется выполнение.
Простейший пример скрипта для командной оболочки Bash:
!/bin/bash
echo «Hello world»
Утилита echo выводит строку, переданную ей в параметре на экран. Первая строка особая, она задает программу, которая будет выполнять команды. Вообще говоря, мы можем создать скрипт на любом другом языке программирования и указать нужный интерпретатор, например, на python:
!/usr/bin/env python
print(«Hello world»)
Или на PHP:
!/usr/bin/env php
echo «Hello world»;
В первом случае мы прямо указали на программу, которая будет выполнять команды, в двух следующих мы не знаем точный адрес программы, поэтому просим утилиту env найти ее по имени и запустить. Такой подход используется во многих скриптах. Но это еще не все. В системе Linux, чтобы система могла выполнить скрипт, нужно установить на файл с ним флаг исполняемый.
Этот флаг ничего не меняет в самом файле, только говорит системе, что это не просто текстовый файл, а программа и ее нужно выполнять, открыть файл, узнать интерпретатор и выполнить. Если интерпретатор не указан, будет по умолчанию использоваться интерпретатор пользователя. Но поскольку не все используют bash, нужно указывать это явно.
Чтобы выполните:
chmod ugo+x файл_скрипта
Теперь выполняем нашу небольшую первую программу:
./файл_скрипта
Все работает. Вы уже знаете как написать маленький скрипт, скажем для обновления. Как видите, скрипты содержат те же команды, что и выполняются в терминале, их писать очень просто. Но теперь мы немного усложним задачу. Поскольку скрипт, это программа, ему нужно самому принимать некоторые решения, хранить результаты выполнения команд и выполнять циклы. Все это позволяет делать оболочка Bash. Правда, тут все намного сложнее. Начнем с простого.
Переменные в скриптах
Написание скриптов на Bash редко обходится без сохранения временных данных, а значит создания переменных. Без переменных не обходится ни один язык программирования и наш примитивный язык командной оболочки тоже.
Возможно, вы уже раньше встречались с переменными окружения. Так вот, это те же самые переменные и работают они также само.
Например, объявим переменную string:
string=»Hello world»
Значение нашей строки в кавычках. Но на самом деле кавычки не всегда нужны. Здесь сохраняется главный принцип bash — пробел — это специальный символ, разделитель, поэтому если не использовать кавычки world уже будет считаться отдельной командой, по той же причине мы не ставим пробелов перед и после знака равно.
Чтобы вывести значение переменной используется символ $. Например:
Модифицируем наш скрипт:
!/bin/bash
string1=»hello «
string2=world
string=$string1$string2
echo $string
И проверяем:
Bash не различает типов переменных так, как языки высокого уровня, например, С++, вы можете присвоить переменной как число, так и строку. Одинаково все это будет считаться строкой. Оболочка поддерживает только слияние строк, для этого просто запишите имена переменных подряд:
!/bin/bash
string1=»hello «
string2=world
string=$string1$string2 and me
string3=$string1$string2″ and me»
echo $string3
Проверяем:
Обратите внимание, что как я и говорил, кавычки необязательны если в строке нет спецсимволов. Присмотритесь к обоим способам слияния строк, здесь тоже демонстрируется роль кавычек. Если же вам нужны более сложные способы обработки строк или арифметические операции, это не входит в возможности оболочки, для этого используются обычные утилиты.
Переменные и вывод команд
Переменные не были бы настолько полезны, если бы в них невозможно было записать результат выполнения утилит. Для этого используется такой синтаксис:
$(команда
)
С помощью этой конструкции вывод команды будет перенаправлен прямо туда, откуда она была вызвана, а не на экран. Например, утилита date возвращает текущую дату. Эти команды эквивалентны:
Понимаете? Напишем скрипт, где будет выводиться hello world и дата:
string1=»hello world «
string2=$(date)
string=$string1$string2
Теперь вы знаете достаточно о переменных, и готовы создать bash скрипт, но это еще далеко не все. Дальше мы рассмотрим параметры и управляющие конструкции. Напомню, что это все обычные команды bash, и вам необязательно сохранять их в файле, можно выполнять сразу же на ходу.
Параметры скрипта
Не всегда можно создать bash скрипт, который не зависит от ввода пользователя. В большинстве случаев нужно спросить у пользователя какое действие предпринять или какой файл использовать. При вызове скрипта мы можем передавать ему параметры. Все эти параметры доступны в виде переменных с именами в виде номеров.
Переменная с именем 1 содержит значение первого параметра, переменная 2, второго и так далее. Этот bash скрипт выведет значение первого параметра:
!/bin/bash
echo $1
Управляющие конструкции в скриптах
Создание bash скрипта было бы не настолько полезным без возможности анализировать определенные факторы, и выполнять в ответ на них нужные действия. Это довольно-таки сложная тема, но она очень важна для того, чтобы создать bash скрипт.
В Bash для проверки условий есть команда Синтаксис ее такой:
if
команда_условие
then
команда
else
команда
fi
Эта команда проверяет код завершения команды условия, и если 0 (успех) то выполняет команду или несколько команд после слова then, если код завершения 1 выполняется блок else, fi означает завершение блока команд.
Но поскольку нам чаще всего нас интересует не код возврата команды, а сравнение строк и чисел, то была введена команда [[, которая позволяет выполнять различные сравнения и выдавать код возврата зависящий от результата сравнения. Ее синтаксис:
[[
параметр1
оператор
параметр2
]]
Для сравнения используются уже привычные нам операторы <,>,=,!= и т д. Если выражение верно, команда вернет 0, если нет — 1. Вы можете немного протестировать ее поведение в терминале. Код возврата последней команды хранится в переменной $?:
Теперь объединением все это и получим скрипт с условным выражением:
!/bin/bash
if [[ $1 > 2 ]]
then
echo $1″ больше 2″
else
echo $1″ меньше 2 или 2″
fi
Конечно, у этой конструкции более мощные возможности, но это слишком сложно чтобы рассматривать их в этой статье. Возможно, я напишу об этом потом. А пока перейдем к циклам.
Циклы в скриптах
Преимущество программ в том, что мы можем в несколько строчек указать какие действия нужно выполнить несколько раз. Например, возможно написание скриптов на bash, которые состоят всего из нескольких строчек, а выполняются часами, анализируя параметры и выполняя нужные действия.
Первым рассмотрим цикл for. Вот его синтаксис:
for
переменная
in
список
do
команда
done
Перебирает весь список, и присваивает по очереди переменной значение из списка, после каждого присваивания выполняет команды, расположенные между do и done.
Например, переберем пять цифр:
for index in 1 2 3 4 5
do
echo $index
done
Или вы можете перечислить все файлы из текущей директории:
for file in $(ls -l); do echo «$file»; done
Как вы понимаете, можно не только выводить имена, но и выполнять нужные действия, это очень полезно когда выполняется создание bash скрипта.
Второй цикл, который мы рассмотрим — это цикл while, он выполняется пока команда условия возвращает код 0, успех. Рассмотрим синтаксис:
while
команда условие
do
команда
done
Рассмотрим пример:
!/bin/bash
index=1
while [[ $index < 5 ]]
do
echo $index
let «index=index+1»
done
Как видите, все выполняется, команда let просто выполняет указанную математическую операцию, в нашем случае увеличивает значение переменной на единицу.
Хотелось бы отметить еще кое-что. Такие конструкции, как while, for, if рассчитаны на запись в несколько строк, и если вы попытаетесь их записать в одну строку, то получите ошибку. Но тем не менее это возможно, для этого там, где должен быть перевод строки ставьте точку с комой «;». Например, предыдущий цикл можно было выполнить в виде одной строки:
index=1; while [[ $index < 5 ]]; do echo $index; let «index=index+1»; done;
Все очень просто я пытался не усложнять статью дополнительными терминами и возможностями bash, только самое основное. В некоторых случаях, возможно, вам понадобиться сделать gui для bash скрипта , тогда вы можете использовать такие программы как zenity или kdialog, с помощью них очень удобно выводить сообщения пользователю и даже запрашивать у него информацию.
Выводы
Теперь вы понимаете основы создания скрипта в linux и можете написать нужный вам скрипт, например, для резервного копирования. Я пытался рассматривать bash скрипты с нуля. Поэтому далеко не все аспекты были рассмотрены. Возможно, мы еще вернемся к этой теме в одной из следующих статей.
Содержание:
- 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». Несмотря на то, что с момента издания книги прошло более десяти лет, содержащаяся в ней информация до сих пор актуальна.