Как создать скрипт в блокноте – Пишем программы (скрипты) в Блокноте 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 в блокноте, стоит выполнить следующие действия:

  1. Щелкнуть Пуск.
  2. Ввести Блокнот в поле «Выполнить» и нажмите Enter. Также можно использовать любой аналогичный редактор текстовых элементов, например Notepad ++.
  3. Когда Блокнот откроется, ввести следующие строчки или скопировать и вставить их.
  4. Щелкнуть «Файл», затем «Сохранить» и перейти в папку, в которой нужно сохранить. В качестве имени можно ввести test.bat. Если в версии операционной системы есть параметр «Сохранить как», выбрать «Все файлы», в противном случае он сохраняется как текстовый. Выполнив эти шаги, нажать кнопку «Сохранить» и выйти из блокнота.
  5. Чтобы запустить документ, следует дважды щелкнуть на него. Окно CMD откроется автоматически с желаемым выходом. После завершения выполнения, окно автоматически закрывается.
  6. Можно попробовать добавить функцию echo on в шаг 2, чтобы посмотреть, что происходит на каждой строчке.

Шаги для создания скриптов практически одинаковы, независимо от того, установлена версия Windows 10, 8.1, 7 или даже XP.

Стоит обратить внимание, что можно использовать расширение cmd вместо расширения bat.

Создание bat-файла в MS-DOS

Чтобы создать пакетный элемент в MS-DOS или командной строке Windows, важно выполнить следующие действия:

  1. Открыть командное окно MS-DOS или загрузить MS-DOS.
  2. В строке MS-DOS ввести: edit test.bat и нажать Enter.
  3. Если введено все правильно, появится синий экран редактирования.Блокнот
  4. После ввода этих строчек щелкнуть «Файл» и выбрать «Выход». Когда будет предложено сохранить элемент, нажать «Да». Пользователи, у которых нет мыши, могут выполнить эту же задачу, нажав Alt + F для доступа к меню, а затем X для выхода. Нажать Enter, чтобы сохранить изменения.
  5. Вернувшись к приглашению 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 ++. Это гораздо более сложный инструмент, который может обрабатывать код лучше, чем простой текстовый редактор. Блокнот лучше всего использовать для простых сценариев и когда у вас нет других редакторов под рукой.

Пишем программы (скрипты) в Блокноте Windows. Учимся писать скрипты правильно

Виртуальной машины, исполняющей скрипты на языке 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 и запустить.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *