Написание сценариев для windows. Создание нового одиночного сценария

19.03.2019

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

Большинство похожих скриптов пишутся для удобства и автоматизации каких-либо действий на компьютере с ОС Windows. Представленные же ниже скрипты мало окажутся полезными (может мне так кажется), но они отлично подойдут для первоначального знакомства с "кодингом". Вы отлично проведете время, удивив как себя, так и знакомых чайников (не программистов), плюс это еще один хороший вариант .

Немного терминологии:

  • VBS - язык программирования для создания скриптов в ОС Windows, создается/редактируется в Блокноте Windows, имеет разрешение ".vbs". Думаю, продолжать не имеет смысла, ибо это мало о чем скажет, особенно новичкам. Интересующимся - .
  • BAT - пакетный файл, в народе просто "батник". Расширение файла ".bat". Дальше аналогично - .

Данных расширений (vbs, bat) файлы создаются во всеми известном Блокноте Windows (Notepad). Для большего удобства создания скриптов рекомендуется использовать усовершенствованный (скажем так) блокнот - Notepad++. Он удобен подсветкой синтаксиса большого количества языков программирования, если вам это мало о чем говорит, то скачайте и пишите в нем - ошибок сделаете меньше в коде, ну или будет их проще найти, чем в том же мало функциональном Блокноте Windows.

Для наглядности пример (слева - Блокнот Windows, справа - Notepad++):

Приступим

Если вы уже знакомы с VBS скриптами и батниками, то скорее всего нижеследующие примеры вам будут неинтересны, если же вы новичок, то для первоначального ознакомления - то, что нужно.

Научим компьютер здороваться

  1. Открываем Блокнот (или Notepad Plus Plus).
  2. Копируем в вставляем код:

    Set sapi=CreateObject("sapi.spvoice")
    sapi.Speak "Hello!"

  3. Обязательное условие: кавычки должны быть “такими”, «ёлочки» не подойдут, скрипт не будет обрабатываться и выйдет ошибка. Вместо слова "Hello" можете написать что угодно, даже по русски, при наличии русского голосового движка.
  4. Дальше выбираем Файл - Сохранить как - Тип файла - Все файлы - название.vbs
  5. Называйте файл как хотите, но не забудьте в конце прописать расширение - .vbs (пример - Privet.vbs).
  6. Теперь пробуйте проверить свой скрипт - запустите файл двойным щелчок мыши.

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

Теперь, сделаем следующее: пропишем данный скрипт в автозагрузку, а это означает то, что при запуске компьютера вам будет произнесено написанное в программе слово (слова), если как в примере, то будет говорить - "Hello" при каждом включении компьютера. Как это сделать?

Все просто, программу (скрипт) добавить в автозагрузку можно таким же образом, то есть через такой же VBS скрипт. Создаем файл в блокноте, копируем/вставляем (Ctrl+C/Ctrl+V) следующий код:

Dim vOrg, objArgs, root, key, WshShell
root = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\"
KeyHP = "Program"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.RegWrite root+keyHP,"C:\Privet.vbs /autorun"

Изменяем путь до скрипта "говорилки", вот эту строчку - C:\Privet.vbs на свою. Прописываем где у вас лежит этот скрипт и как называется. Дальше сохраняем только что созданную мини программу в блокноте и запускаем. Все, теперь компьютер будет с вами здороваться пр каждом включении.

Открыть дисковод

  1. Открыть блокнот. Скопировать/Вставить следующий код:

    Set a = CreateObject("WMPlayer.OCX.7")
    Set b = a.CdromCollection
    Set c = b.Item(0)
    Set d = c.Eject

  2. Сохранить с расширением.vbs
  3. Запустить скрипт и откроется дисковод.

Есть более интересная модификация данного скрипта:

Set WMPlayer = CreateObject("WMPlayer.OCX.7")
do
WMPlayer.CdRomCollection.Item(0).Eject()
loop

В данном случае будет все время открываться-закрываться CD/DVD-привод, на ноутбуках в этом случае будет открываться после каждого его закрытия.

Внимание! Второй код (открытие-закрытие дисковода), некоторые антивирусы видят как вредоносную программу. Антивирус Касперского (в т.ч. и ) его видит именно так и уничтожает сразу же. В первом же случае (просто открытие дисковода) для антивирусных программ не является вредоносным скриптом.

Чтобы прекратить автоматически открывать-закрывать дисковод необходимо:

  1. Запустить диспетчер задач ( - Ctrl+Alt+Del).
  2. Перейти на вкладку "Процессы".
  3. Найти процесс 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:\Windows\Result.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 файлов (далее - батник).

Совсем простой батник состоящий всего из одной строки.

  1. Открываем Блокнот.
  2. Пишем следующий код:

    shutdown -s -t 1 -c -f

  3. Далее Файл - Сохранить как - нзвание.bat
  4. Обратите внимание на расширение файла, это уже не VBS скрипт, а батник, по этому в конце названия прописываем.bat (Пример compoff.bat).
  5. Запускаем только что созданный батник двойным щелчком мыши и компьютер выключится (Завершение работы).

Есть такой вариант кода:

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 или сделать восстановление системы.


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

Произошла ошибка сценария, что делать? – Прежде следует знать, что ошибка разделяется на 3 группы, каждая имеет свою причину и решение, так можно выделить: ошибку в браузере, в Windows или проблему с run.vbs. Каждая категория имеет свои особенности устранения, поэтому в зависимости от рода ошибки, нужно искоренять заболевание системы.

Что делать, если на этой странице произошла ошибка сценария в Internet Explorer?

На этой странице произошла ошибка сценария – одна из самых распространённых неисправностей, возникает обычно в браузере, особенно часто в IE, при этом версия не играет роли. Причиной проблемы становится либо сам ресурс, к которому вы пытаетесь получить доступ, либо неисправность со стороны пользователя.

Предварительно следует переустановить/обновить браузер, вероятно, он имеет какие-то повреждения. Более простой вариант – это просто почистить кеш и куки, процедура выполняется при помощи CCleaner. Необходимо просто запустить сканер и удалить временные файлы .

Ошибка сценария как устранить, если проблема со стороны ресурса? – Увы, но повлиять на написанный код невозможно, обычно проблема в JavaScript или же VBScript. Единственный действенный и простой вариант заключается в удалении окна с ошибкой, таким образом вам не будем показываться уведомление, а страница обработается на столько, на сколько это возможно. Вам следует:

  1. Откройте Internet Explorer;
  2. Нажмите на кнопку меню и выберите «Свойства браузера»;

  1. Перейдите в раздел «Дополнительно»;
  2. Установите флаги возле опций «Отключить отладку сценариев»;
  3. Немного ниже снимите выделение с уведомления об ошибке.

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

Ошибка сценариев Windows

Совершенно другого рода проблема, так как ошибка сценариев Виндовс возникает после запуска системы и не относится к браузеру. При этом все версии Windows в зоне риска, что увеличивает вероятность столкнуться с неисправностью. Для отключения подобного уведомления следует установить корректный уровень доступа для реестра. Как убрать ошибку сценария при запуске?

  1. Нажмите Win + R и введите regedit;
  2. ПКМ по разделу HKEY_LOCAL_MACHINE, выберите свойство «Разрешения…»;

  1. Выберите среди пользователей пункт «Все» и снизу установите флаг возле «Полный доступ»;
  2. Нажмите на кнопку «Дополнительно»;

  1. Установите выделение на субъект «Все» и клик по «Изменить»;
  2. Снова задайте «Полный доступ» и перезагрузите ПК;
  3. Используйте сочетание Win + R и введите cmd, затем вставьте строку regsvr32 c:windowssystem32msxml.dll.

Ошибка сценариев Windows после подобной манипуляции должна исчезнуть и более не тревожить пользователя. Даже с тем учетом, что уведомление может не оказывать никакого негативного воздействия на систему, оно все равно вызывает неудобства.

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

Как исправить ошибку сценария run.vbs?

Наряду с остальными сбоями в сценариях, можно столкнуться с вопросом - как исправить ошибку сценария run.vbs, при этом Windows сохраняет черный экран, без каких-либо активных элементов. Ошибка сценария Виндовс 7 в данном ракурсе возникает только из-за действия вирусов, они заменяют корректные параметры реестра на поддельные, чтобы в дальнейшем вредить и воровать.

Когда ошибка с run.vbs проявилась это указывает на то, что, скорее всего, вирус был обнаружен и удалён, а отсутствие рабочего стола только лишь последствие вредоносного воздействия. Для реабилитации системы необходимо выполнить:

  1. Зажмите Alt + Ctrl + Del;
  2. В диспетчере нажмите на «Файл»;
  3. Далее «Новая задача»;

  1. Используйте команду explorer.exe.

Такое действие поможет только лишь одноразово запустить процесс рабочего стола, проблема всё ещё сохранится после перезапуска системы. Для нормализации работы Windows необходимо заменить параметры, которые были испорчены, а находятся они в реестре:

  1. Win + R и regedit;
  2. Следуйте по пути HKEY_LOCAL_MACHINE-> SOFTWARE-> Microsoft-> Windows NT-> CurrentVersion-> Winlogon;
  3. Выделите параметр «Shell» при помощи двойного нажатия;
  4. В строке «Значение» укажите explorer.exe;

  1. Подобное действие нужно проделать и в другом параметре Userinit, для этого установите C:Windowssystem32userinit.exe.

В целом этого вполне достаточно для полноценного удаления вирусной активности с системы, но дополнительно можно при помощи поиска удалить все упоминания о run.vbs.

Также можно воспользоваться восстановлением системы, при условии наличия корректных точек.

Комплексный подход к удалению ошибки о некорректности сценариев позволяет полностью устранить проблему - не зависимо от причины и рода ее возникновения.

Если у Вас остались вопросы по теме «Как убрать ошибку сценария в Windows?», то можете задать их в комментариях


if(function_exists("the_ratings")) { the_ratings(); } ?>

Создание нового одиночного сценария

Для того чтобы создать новый одиночный сценарий (например, на языке JScript или VBScript), нужно выбрать пункт меню File|New , после чего на экран будет выведено диалоговое окно New , на вкладке Files которого представлен список поддерживаемых типов сценариев (рис. П3.1).

Рис. П3.1. Создание нового сценария - список типов файлов, поддерживаемых Primalscript

Замечание

Так как локализованных русскоязычных версий программ Primalscript и MS Script Debugger, которые описываются в этом приложении, пока нет (и вряд ли будут), автор специально не указывал перевод команд и пунктов меню на русский язык.

Указав в этом списке нужный тип (например, JScript) и нажав кнопку OK, мы получим в окне редактирования заготовку сценария с заполненным заголовком (рис. П3.2).

Рис. П3.2. Заготовка нового сценария на языке JScript

Из книги Adobe InDesign CS3 автора Завгородний Владимир

Создание нового документа Для создания нового документа нужно открыть подменю File ? New (Файл? Новый) и выбрать пункт Document (Документ); два других пункта будут рассмотрены позже, так как они касаются более сложных тем.Получив команду о создании нового документа, Adobe InDesign

Из книги Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT автора Фролов Александр Вячеславович

Создание нового класса Из любой страницы ClassWizard можно добавить в приложение новый класс, созданный на основе базовых классов. В качестве базового класса можно использовать классы, наследованные от класса CCmdTarget или класса CRecordset . Если требуется создать класс, не

Из книги Windows Script Host для Windows 2000/XP автора Попов Андрей Владимирович

Открытие существующего одиночного сценария Открыть уже существующий сценарий можно с помощью пункта меню File|Open. Диалоговое окно открытия файлов позволяет запретить изменения выбранного файла (режим "Только чтение"), а также отобразить этот файл в текстовом (Text) или

Из книги BPwin и Erwin. CASE-средства для разработки информационных систем автора

Создание нового WS-файла Как и в случае обычного одиночного сценария, новый WS-файл создается с помощью пункта меню File|New, однако в диалоговом окне New нужно выбрать вкладку Workspaces, где представлены несколько мастеров для создания файлов различных типов (рис. П3.5). Рис. П3.5.

Из книги Моделирование бизнес-процессов с BPwin 4.0 автора Маклаков Сергей Владимирович

Запуск одиночного сценария Запуск одиночного сценария, который открыт в активном окне редактирования, производится с помощью пункта Run Script меню Script. При этом сценарий может запускаться как с помощью cscript.exe (устанавливается по умолчанию), так и с помощью wscript.exe, а выводимая

Из книги Визуальное моделирование электронных схем в PSPICE автора Хайнеманн Роберт

2.5.2 Создание нового отчета Для создания нового отчета следует выбрать пункт меню File/NewERwin Report или щелкнуть по кнопке на панели инструментов. Появляется диалог ERwin Report Editor (рис. 2.121).В поле Name следует внести имя отчета. Категория отчета (Category) указывает на тип объектов

Из книги Первые шаги с Windows 7. Руководство для начинающих автора Колисниченко Денис Н.

5.1.1. Создание нового отчета RPTwin является специализированным генераторам отчетов, который позволяет создавать качественные отчеты по моделям процессов и данных. RPTwin входит в поставку как BPwin, так и ERwin. Функциональность RPTwin позволяет создавать не просто отчеты

Из книги Macromedia Flash Professional 8. Графика и анимация автора Дронов В. А.

2.2.1. Создание нового отчета RPTwin является специализированным генераторам отчетов, который позволяет создавать качественные отчеты по моделям процессов и данных. К сожалению, в RPTwin не входит в поставку BPwin 4.0, однако создавать отчеты с его помощью можно предварительно

Из книги QNX/UNIX [Анатомия параллелизма] автора Цилюрик Олег Иванович

4.8. Упражнение 8. Создание сценария 1.Выберите пункт меню Diagram/Add IDEF3 Scenario.Создайте диаграмму сценария на основе диаграммы IDEF3 "Сборка настольных компьютеров" (А22.1).2.Удалите элементы, не входящие в сценарий (рис. 4.8.1). Рис. 4.8.1. Результат выполнения упражнения

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

15.1. Создание нового проекта Редактор CAPTURE различает чертежные проекты, проекты разработки топологии, программируемые логические проекты и проекты моделирования. Вам нужно создать проект моделирования.Шаг 1 Запустите редактор CAPTURE из главного меню Windows, щелкнув в пункте

Из книги автора

5.1. Создание нового раздела Как уже было сказано, в реестре имеется пять корневых разделов. Вы не можете создать еще один корневой раздел, однако можете создать раздел в любом из имеющихся корневых разделов (он будет представлять собой раздел первого уровня по отношению к

Из книги автора

5.3. Создание нового параметра Редактор реестра позволяет создавать параметры следующих типов (см. рис. П4.4):? REG_SZ - строковый параметр;? REG_BINARY - двоичный параметр;? REG_DWORD - параметр DWORD;? REG_MULTI_SZ - мультистроковый параметр;? REG_EXPAND_SZ - расширяемый строковый параметр.Параметры

Из книги автора

Создание нового документа Перед тем как начать что-то рисовать, нам нужно создать новый документ. Сейчас мы выясним, как это сделать.Создание нового пустого документаСоздать новый документ Flash, не содержащий никакой графики (пустой), очень просто. Для этого достаточно

Из книги автора

Создание нового процесса Созданию процессов (имеется в виду создание процесса из программного кода) посвящено столько описаний , что детальное рассмотрение этого вопроса было бы лишь пересказом. Поэтому мы ограничимся только беглым перечислением этих возможностей,

Из книги автора

Создание нового потока Создание нового потока в программном коде осуществляет вызов:int pthread_create(pthread_t* thread, const pthread_attr_t* attr, void*(*start_routine)(void*), void* arg);где thread - NULL или указатель переменной типа pthread_t, значение которой будет загружено идентификатором созданного потока после

Из книги автора

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

Третьим типом команд в PowerShell являются сценарии. Сценарий это блок кода, хранящийся в отдельном файле с расширением.ps1. Это основное преимущество сценариев, так как можно сохранить код, избавив себя от необходимости набирать его каждый раз вручную.

Сценарии можно писать в любом текстовом редакторе, главное, сохранить написанное в файле с расширением.ps1. Сценарий можно написать и в консоли, скопировав затем текст в редактор и сохранив. Между тем, в PowerShell уже есть интегрированная среда сценариев, упрощающая написание.

Это важно!

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

Проверить, отключено ли у Вас выполнение сценариев, можно командой

Get-ExecutionPolicy
Проверка политики безопасности в Windows PowerShell

Если у Вас действует строгая политика безопасности уровня Restricted или AllSigned , то Вам придется сменить её командой

Set-ExecutionPolicy RemoteSigned

Теперь напишем наш первый сценарий. Для написания сценариев будем использовать Windows PowerShell ISE, окно с которым Вы уже видели на скриншоте выше. Наберем в верхнем окне какой-нибудь текст

Теперь запустим наш файл. Для этого перейдем в каталог с файлом командой

cd C:\

и запустим

.\primer

Обратите внимание, точка важна, так как она показывает, что файл нужно запускать из текущего каталога.


Пример выполнения сценария в Windows PowerShell

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

Сценарий можно запустить и из обычной командной сроки Windows (не Windows PowerShell). Для этого перед путем к файлу сценария дописываем параметр powershell.exe . Например, в моем случае

powershell.exe C:\primer.ps1

Что касается кода, то сценарии, в общем-то, аналогичны функциям. Существенное отличие, которое нужно знать при написании сценариев, так это то, что формальные параметры нельзя задавать просто в круглых скобках. Для задания формальных параметров нужно воспользоваться специальной инструкцией Param . Эта инструкция должна располагаться на самом верху файла сценария (выше могут быть только пустые строки и комментарии).

Изменим наш файл primer так, как показано на рисунке ниже.


Формальные параметры в сценариях Windows PowerShell

Как видим, после запуска сценария с аргументами, тот выполнил необходимое действие сложения.

Поскольку сценарии PowerShell во многом похожи на строки кода классических языков программирования, они так же оформляются комментариями. Комментарии в сценариях Windows PowerShell оформляются символом # .

# Это комментарий # Это тоже комментарий # в сценарии Windows PowerShell ##############################################

Итак, как Вы уже могли убедиться Windows PowerShell обладает собственным скриптовым языком. В поговорим о последнем типе команд.