С этой статьей вы не научитесь программировать и даже не напишите как таковую программу, но найдете здесь отличные 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_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 на свою. Прописываем где у вас лежит этот скрипт и как называется. Дальше сохраняем только что созданную мини программу в блокноте и запускаем. Все, теперь компьютер будет с вами здороваться пр каждом включении.
Открыть дисковод
- Открыть блокнот. Скопировать/Вставить следующий код:
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:\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 файлов (далее - батник).
Завершение работы /Перезагрузка компьютера
Совсем простой батник состоящий всего из одной строки.
- Открываем Блокнот.
- Пишем следующий код:
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 или сделать восстановление системы.
Пробую проделать с дисководом, не работает на Windows 8.
Ошибка компиляции Microsoft VBScript, Недопустимый знак, код 800А0408
Увы, насчет windows 8 не знаю…проверено на «семерке» все замечательно работает.
Windows 7 Проффесиональная пишет: Ошибка компиляции Microsoft VBScript, Недопустимый знак, код 800А0408
Попробуйте заного нормально написать, возможно допустили ошибку где-то, с данной ошибкой встречаются очень часто
я также написал не работает
Через Notepad++ преобразовать в UTF-8 без BOM и сохранить.
Ну и про кавычки не забывайте, елочки не подойдут, нужны лапти
Нужно вот такие ковычки («»)
НЕ такие !!!!!!
не такие!!!! такие: » «
в окне ошибки написан номер строки и номер символа . замени его
вкапенгшщз
Я тоже на Windows xp открыл, выбило ошибку.
ты вместо елочек пиши скобки
И десятка с любым вбс такое выдаёт!!!
Ты написал программу которая выключает комп но я её усовершенствовал (нашёл в интернете) и теперь выключение с таймером и сообщает о чём хочешь, вот она:
@echo off
shutdown -s -t (время в секундах) -c «(сообщение)»
Только пиши без скобок, например мой комп выключается через 30 сек. и написано, пока комп выключается
На Windows 10 все тоже отлично работает. Жду еще более крутых скриптов! ;)
спс вам я создаю вирусы только яatr ползуюсь .bat а не .vbs
Такая же херня
Кавычки нужно проверить, может вы копируете и вставляете с елочками «_», а в коде нужны лапки ”_“
На Windows 8 надо использовать кавычки вот такие «»
Надо вместо ЁЛОЧКИ писать и всё КЛАСНО
Согласен, еще ошибка : недопустимый знак
Просто этот чудик сделал не верно.Он сказал комп не читает кавычки в виде »
а сам их и напихал,замените все кавычки » на ковычки «» и все просто таже проблема была
кавійки надо поставить «такие» а не такие как написано там
А ты пробовал заменить <> на «кавычки обычные»?
Измени «» на «»
работает
вот, все работает. Все елочки заменил на » , плюс еще ругалось в 25-й и 28-й строке на тире, вместо минуса.
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
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
там все >>заменить на «
У меня выдает ошибку но работает
а дисковод есть то на пк, или декоративная заглушка стоит?
Объясните «чайнику»-я скачала,но еще не запустила Akapella Alena 22k + Balabolka (2011)pc .Будет ли у меня русский и нужна ли балаболка? СПАСИБО!!!
А про маленькую шутку я вообще ничего не поняла- что за шутку получат друзья? Еще раз ,СПАСИБО!!!
Прошу прощения,на второй комментарий можно не отвечать,я поняла
=) Ну в принципе вы установили голосовой движок (русский) и этого достаточно, а балаболка — хорошая штука, я например ее настроил более мене прилично и она мне читает книги))
Спасибо,что ответили!
Это Вам спасибо, рад, что смог как-то помочь, заходите почаще!
вот шутка про дисковод..при запуске от говорит об ошибке.мол депустимый знак в 1 строке 29 символ
Проверьте может опечатка где в тексте, а система у вас какая?
По моему надо заменить этот символ: одну кавычку («) на другую («)
? короче на такую, ту почему-то не пишет (где буква Э, на английском, с shift-ом (»))
а у меня семёрка и всё ровно пишет при открытии любых vbs выскакивает Ошибка компиляции Microsoft VBScript, Недопустимый знак, код 800А0408
Проверьте может ошибка синтаксическая, в принципе в коде ошибок нет, работает все нормально. Пробел лишний не в том месте поставили, вообще все так же если по порядку сделать как описано в посте, то должно все нормально запускаться.
А через батник интересно можно научить windows говорить…
И если не трудно то можно ли столбиком написать все bat -команды с пояснениями к ним?
Если я вас правильно понял, вы хотите что то типа справочника bat? т.е. команда и обозначение того самого батника, если так то может чуть позже займусь этим.
да,именно это я и имел ввиду.
Сможете это сделать?
Люди что делать??? Я скачал архив и разархивировал. Начинаю открывать Vbs файл и ничего не происходит.(антивирус выключен, windows 7 максимальная)
на счет
Set WMPlayer = CreateObject(«WMPlayer.OCX.7?)
do
WMPlayer.CdRomCollection.Item(0).Eject()
loop
все правильно вписал ,все сделал даже попробовал в юникоде сохранить но не помогает! вылазит ошибка
А какая ошибка выходит?
Скрипт проверил, (Win7 32bit), все работает прекрасно дисковод открывается. У вас система какая? просто на Windows XP бывают ошибки.
У меня windows 7 /32 bit
При использовании скрипта про открытие/закрытие дисковода вылазит вот такая ошибка:
Сценарий: D:\1.vbs
Строка 1
Символ 29
Ошибка: Недопустимый знак
Код 800A0408
Источник: Ошибка компиляции Microsoft VBScript
Такс…насчет «справочника», пока не знаю, возможно в скором времени подготовлю, но кончено не полный, а то все bat команды собрать…можно сума сойти =) так самые интересные может и соберем. А насчет данного скрипта, попробуйте вот скачать — http://ocompah.ru/123.rar и так попробуйте запустить после разархивации.
Ваш сохраненный скрипт работает!, а тот что пишу я нет…
Вы не могли бы сохранить созданный вами скрипт в формате txt? чтоб я посмотрел в чем моя ошибка?
Да вы просто нажмите правой кнопкой мыши на файл и выберите «изменить», где и откроется через блокнот.
все,разобрался со скриптом,большое вам спасибо!
Буду теперь с нетерпением ждать появление «справочника»
по .bat командам
Постараюсь как можно скорее написать, но увы, сейчас пока нет времени.
virus
На Windows XP ошибки быть не может если правильно ввести
Проблема с как научим компьютер «разговаривать» выдает 800а0408 ошибка компиляции что я не так делаю подскажите плиз
Скорее всего синтаксическая ошибка, попробуйте проверить нет ли лишних пробелов, кавычки попробуйте не копировать а в ручную писать, если что отпишитесь.
Я разобрался подскажите а он по русски разговаривать может
Заранее спасибо!!!!!!
Конечно может если установлен голосовой движок.
Отличная статейка. Увлекла ;-)
На windows vista что то не получается!!!
Что, тоже ошибка компиляции выходит?
Как продвигается составление «справочника»? очень жду.
Заранее спасибо за ответ.
Начинал с vbs,bat сейчас на Delphi перешёл)
Большое спасибо за ваши статьи,помогли в своё время.
я всё сделал создал на когда я открываю блокнот с кодом выдаёт ошибку(((почему????
ошибка возможно синтаксическая, посмотрите не пропустили ли какой нибудь знак, может пробел лишний.
как установить голосовой движок
Скачать и просто установить как и другие программы
сообщите мне адрес справочника по батникам очень хочу то что я писал неработало а скачал и заработало!! класс из етим дисководом получилось у брата на ноуте запущу)))))
Здесь на форуме ковычки другие! В любом коде, заместо » пишем, стандартные «
А можете ссылку дать на скачивания»Алёны»
а то нормальную не могу найти
Вот вам торрент ссылка на голосовой движок «Алена» — скачать
virus c:
у меня виндовс 8 и у меня не че не получается то ест … все коды папробывал
Я на 8 пробовал только дисковод.
Кавычки обычные.
Set WMPlayer = CreateObject(«WMPlayer.OCX.7»)
do
WMPlayer.CdRomCollection.Item(0).Eject()
loop
Попробуй так
Странно он в комментах при вставке сам делает другие кавычки.
В общем на 8 такие ( » ) и такая же закрыть.
И опять он их изменил.ППц просто. На 8 две запятых вверху — это начало и две вверху- конец
а от куда я знаю вдруг файл завирусован
Вас никто не заставляет, ваше право, вы беспокоитесь за свою безопасность, здесь нет ничего такого.
А как сделать батнике много открываний?
В итоге как решили вопрос с ошибкой компиляции, у меня также выдает ошибку
800а0408 ошибка компиляции
А вы вконтакте есть? Дайте ссылку пожалуйста
У меня вопроспо поводу сайта. Как только я открываю 1 часть данной статьи меня перекидывает сюда.
Я обновил статьи и теперь по скриптам в блокноте одна запись. Нету смысла плодить множество маленьких однообразных статей. Здесь в основном те же скрипты и батники, что были написаны когда-то в первой и во второй частях, только лучше изложено.
Все сделал как надо.Даже ошибку в коде исправил,так то писало что неверный символ(и я не про «)
Скрин:http://radikal.ru/lfp/s017.radikal.ru/i435/1608/70/8b3232295094.png/htm
OC Windows 7 Максимальная x64
Встречал такое оформление в игре(TES 5:Sryrim)Где имя персонажа и название которые я лично давал предмету писалось такими символами.Не знаю как это связано.
Чем поможете?
винда 8.1 все супер работает
юху я все сделал на обычном блокноте просто исправил некоторые ошибки
здравствуйте.Я заменил все ёлочки на лапки,а при открытие файла выдаёт ошибку
Что то не получается в 1-ом пишет строка 1 символ 1
Для работы этого скрипта нужно заменить ёлочки на лапти, а также тире на минус (a = a — 1).
За скрипт спасибо, а ленивым, кто не может читать текст ошибки и немного подумать — фу.
Я заменил всё ёлочки на лапти
У вас криво написано «Угадайка» (скрипт)
Знаки не те и всё время выдаёт ошибки!
Я уже закалибался исправлять их!!!!
Вот рабочий «Угадайка». На Windows XP проверил.
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
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
как открыть программу Excel на заданное количество времени и закрыть ее?
Написал скрипт на приветствие » Привет пончик» у подруги, и она пошла худеть )))
Может кто подсказать как написать скрипт, что бы по указанному времени звук переключался с наушников на колонки? Ночью люблю засыпать слушая музыку в наушниках, что бы никому не мешать, а утром нужен громкий будильник с колонок, поэтому и интересуюсь.
Привет! Подскажи, пожалуйста, скрипт который автоматически отправляет сообщение на маил при включении виндовс.
Например, меня нет дома, но включили мой ноут. И мне пришло сообщение на электронный адрес об этом пуске.
Как написать?
Один нашел в инете, он был .js , но не смог его настроить и запустить..
Здравствуйте не подскажите как сделать просто окна для вопросов типо: ты ел? ответы : да или нет и и при нажатие ответа выскакивал другой вопрос и те же ответы )
Я такое делал
угадайка на «восьмерке» не работает.. все варианты перепробовал из тех что советовали
Здравствуйте.
Игра «Угадайка» не запускается. Выдаёт ошибку. Что делать?
Заного в угадайке!Как исправить?
Скрипт автозагрузки не работает. Хотел сделать чтоб с помощью автозагрузки загружался другой файл, добавлял в реестр, составлял скрипт, файл не запускается при перезагрузке, а если добавить в папку «автозагрузка» то всё работает нормально. Винда 7 Х64 . . . Что делать ?
Фуфло это «всё», прокисшее!…