Как писать скрипты для Windows? Начинаем работать с браузеров. Есть более интересная модификация данного скрипта

С этой статьей вы не научитесь программировать и даже не напишите как таковую программу, но найдете здесь отличные 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_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-привод, на ноутбуках в этом случае будет открываться после каждого его закрытия.

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

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

  • Запустить диспетчер задач ( - 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 и после запуска компьютер перезагрузится (обычная перезагрузка компьютера).

    Удаление обновлений

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

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

    Любой начинающий системный администратор 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

    Результатом выполнения скрипта будет:

    Voland@superstar:~/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 за ее замечания и советы.

    В буквальном переводе слово script означает «сценарий», то есть описание последовательности действий, которые нужно совершить, чтобы выполнить определённую задачу. Применительно к интернет-программированию такими задачами могут быть, например, отображение часов на интернет-странице, реализация разнообразных визуальных эффектов с картинками и т.д. Да и показ в браузере самой страницы в современной сети тоже выполняется по заданному в скрипте сценарию. Давайте попробуем написать пару простейших скриптов, чтобы получить представление о том, что они собой представляют.
    Создать сайт самостоятельно с Wix.com

    Инструкция
  • В зависимости от того, где происходит исполнение сценария, скрипты делятся на «клиентские» и «серверные». Переходя по какому-то адресу в сети, мы отправляем URL интересующей страницы серверу, и тот запускает сценарий (скрипт), находящийся по указанному адресу. Скрипт, выполняя на сервере запрограммированные в нём действия, собирает страницу из нужных блоков и отправляет её браузеру. Это - серверный скрипт. Получив страницу, браузер на нашем компьютере визуализирует её для нас и, если в полученном коде страницы есть какой-то сценарий, то уже он занимается исполнением этого скрипта. Это - клиентский скрипт.
  • Чтобы сервер или браузер могли прочесть, понять и исполнить сценарий он должен быть составлен и записан по известным им правилам. Такие наборы правил называют скриптовыми языками программирования. Большинство серверных сценариев в настоящее время пишутся на языке PHP, а большинство клиентских - на языке JavaScript. Чтобы самому написать скрипт достаточно иметь обычный текстовый редактор – блокнот. Но для постоянного программирования скриптов не обойтись без специализированного редактора. Такой редактор берёт на себя львиную долю рутинной работы по написанию скриптов, оставляя программисту больше времени для творчества.

    Давайте напишем простой скрипт на серверном языке PHP. Первой строкой надо сообщить исполнителю, что с этого места начинается сценарий. На языке PHP этот открывающий тег выглядит так:Между этими двумя тегами находятся инструкции - операторы языка. Например, инструкция напечатать надпись, оставленную О. Бендером на Кавказских скалах, пишется так:echo ("Здесь были Кися и Ося");А инструкция показать текущее время в формате ЧАС:МИНУТА пишется так:echo date("H:i");Полностью PHP-скрипт, составленный из этих операторов, будет выглядеть так:echo date("H:i");

    echo (" здесь были Кися и Ося!");?>После выполнения этого скрипта серверной программой-исполнителем (интерпретатором языка) страничка бы выглядела так:

  • А этот же сценарий на клиентском языке JavaScript будет выглядеть так:var now = new date();
  • document.write ("В ");

    document.write (now.getHours() + ":" + now.getMinutes());

    document.write (" здесь были Кися и Ося!");Здесь строка var now = new date() отдаёт исполнителю сценария команду создать новый виртуальный объект с именем "now", который представляет собой текущую дату и время. document.write() – это команда написать в странице то, что указано в скобках, а команды now.getHours() и now.getMinutes() предписывают извлечь из объекта “now” текущие час и минуту.

    Осталось для большей наглядности объединить эти два скрипта в один файл, сохранить его на сервере и набрать URL в адресной строке браузера. В результате увидим одинаковые строки, одна из которых была выполнена по нашему сценарию на сервере (интерпретатором PHP), а другая - в нашем компьютере (интерпретатором JavaScript).

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

    Скрипты позволяют сократить время на организацию и выполнение сложного функционала сайта и упрощают работу с различными системами администрирования, так как при их использовании повторяющиеся компоненты кода можно заменить одним закомментированным фрагментом. Написание скриптов возможно на всех существующих языках программирования. В этой статье мы расскажем, как сделать скрипт на языках VBScript, JavaScript и PHP.

    VBScript

    Visual Basic Scripting Edition (VBScript) - один из распространенных языков программирования, созданный компанией Майкрософт специально для реализации скриптов. Он является разновидностью языка Visual Basic.

    Пример простейшего скрипта в VBScript:

    • " A " Hello, World!" program
    • Module Hello
    • Sub Main()
    • MsgBox("Hello, World!")
    • End Sub
    • End Module

    Объяснение:

    • Первая строка - это комментарий к скрипту. Все, что находится за значком " компилятор не будет распознавать. Данный текст служит лишь для удобства пользователя.
    • Далее любой скрипт в VBScript должен содержать процедуру Main, которая является начальной точкой программы и управляет работой приложения.
    • Процедура Main вызывает функцию MsgBox, которая выводит диалоговое окно с любым текстовым содержанием.

    Чтобы запустить скрипт через командную строку, необходимо сделать следующее:

  • Создайте текстовый исходный документ и сохраните его с расширением Hello.vb.
  • Введите команду vbc Hello.vb.
  • Компилятор создаст файл Hello.exe.
  • Для запуска программы введите команду Hello.
  • JavaScript

    Язык программирования JavaScript используется чаще всего для создания Web-страниц. В создании скриптов на языке JavaScript решающее значение имеет тэг , после которого размещается исполняемый код.

    • Начало документа...

    • alert(" Hello world!");
    • Конец документа

    Когда браузер видит данный тэг, он переключается в JavaScript-режим и исполняет его содержимое. После окончания скрипта и тэга браузер переключается обратно в HTML-режим.

    PHP

    Язык программирования PHP используется для генерации HTML-страниц на веб-сервере и работы с базами данных. Скрипт на языке PHP выглядит следующим образом:

    • Текст PHP

    Файл с кодом скрипта необходимо поместить в корневом каталоге веб-сервера. Чтобы запустить его, необходимо вначале ввести в браузере имя используемого вами веб-сервера и название файла с расширением.php.

    Иногда нужно сделать скрин (screen, скриншот) для наглядного изображения за происходящим на вашем компьютере. Например, показать как устанавливать программу или как настраивать главное меню.

    Сделать такой снимок очень просто без специальных программ.

    Для начала определите, что вы хотите "сфотографировать". Рассмотрим на примере обычного меню "Пуск". Для того чтобы сделать скрин "Пуска", нужно для начала нажать на клавиатуре клавишу "Windows" или кликнуть левой кнопкой мыши по кнопке "Пуск".

    Теперь, пока меню "Пуск" раскрыто, нужно нажать на клавиатуре клавишу "Prt Sc":

    Таким образом мы "сфотографируем" весь экран в буфер обмена.

    Пуск => Программы => Стандартные => Paint

    В рабочем окне программы Paint нажмите закладку Правка, затем Вставить или просто нажмите сочетание клавиш Ctrl + V (вставить).

    Теперь выбираем инструмент Выделение (штриховая рамка) и выделяем область, которую нам нужно (окно Пуск).

    Копируем выделенный фрагмент в Буфер обмена Правка => Копировать или сочетанием клавиш Ctrl + C

    Создаём новый документ Файл => Создать или Ctrl + N. Старый документ можно закрыть.

    Вставляем из Буфера скопированный рисунок Правка => Вставить или Ctrl + V

    Рисунок вставлен. Если нужно на нём что-то подчеркнуть или подписать, то можно воспользоваться Карандашом или Кистью из панели инструментов.

    Введите имя для вашего рисунка и выберите Тип файла JPEG, не забудьте указать Папку в которую вы хотите сохранить рисунок, теперь можно нажимать кнопку Сохранить

    Вот результат работы:

    Таким образом можно вырезать любые детали с рабочего стола, кстати все картинки к этому уроку сделаны по такому принципу.

    Как быстро сделать скриншот рабочего стола с помощью программы Screen Shoot-It

    computerlessons.ru

    Как писать скрипты для Windows?

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

    Общая информация

    Очень желательно, чтобы были хотя бы минимальные знания о программировании. Но если что-то покажется непонятным, то статья-другая поможет заполнить пробел. Первоначально давайте определим, что же собой представляет скрипт. Так называют алгоритм, написанный определёнными языками программирования, что хранится на компьютере человека и может взаимодействовать с определёнными файлами, программами вроде браузеров и системными настройками. Это всё позволяет значительно дополнять стандартные возможности, создавать автоматизированных помощников, что будут брать на себя часть работы.

    Начинаем работать с браузеров

    Это, пожалуй, одно из самых лёгких занятий. Если мы пишем скрипты на JavaScript, то для этого достаточно обычного блокнота и знания этого языка программирования. Правда, есть тут и недостатки. Так, каждый человек, у которого есть всё тот же "Блокнот", сможет посмотреть, что же собой представляет скрипт. И если у него будут плохие намерения, а в коде уязвимость – то могут возникнуть проблемы. Отвечая на вопрос о том, как научиться писать скрипты на JavaScript, следует отметить, что для этого достаточно изучить данный язык программирования. Для того чтобы создавать лучшие и более сложные программы, можно воспользоваться различными библиотеками. Но для них требуются соответствующие расширения веб-обозревателей. И при смене компьютерной техники придётся проводить дополнительные настройки. А при использовании сторонних разработок необходимо удостовериться, что скрипт не будет отсылать пользовательские данные на сторонние сервисы. Следует отметить, что каждый браузер имеет свои определённые ограничения. Но в целом с их помощью можно делать практически всё что угодно. Зачем же их пишут в таких случаях? Они нужны тогда, когда следует автоматизировать деятельность человека.

    Работаем с операционной системой Windows

    Допустим, нам необходимо поменять конфигурацию компьютера. Для этого существует широчайший набор графических средств, но всё они, увы, не охватывают. Поэтому часто приходится создавать системные скрипты. Они имеют расширение.bat. Каждый человек, который более-менее длительное время работает за компьютером, уже встречался с такими файлами. Но вот как писать скрипты для Windows? Для этого нам пригодится всё тот же "Блокнот". Сначала создаём новый текстовый файл. В нём необходимо записать системные команды. После этого необходимо изменить расширение файла на.bat. И остаётся только запустить эту разработку. Если всё правильно, то команды успешно будут выполнены, что и можно лицезреть. Но в случае ошибок или неграмотного написания кода в лучшем случае ничего не произойдёт. Поэтому лучше разбираться в том, что записываешь. Просто брать где-то код и бездумно его вставлять категорически не рекомендуется! Это может привести к значительным проблемам в работе операционной системы. И ещё повезёт, если такие опасные действия были сделаны с гостевого аккаунта. Ведь команда от администратора может превратить компьютер в "кирпич".

    А что с "Линуксом"?

    Следует помнить, что "Виндовс" – это не единственная операционная система. Есть ещё и "Линукс", причем довольно популярный. Как писать скрипты в этой операционной системе? Они создаются с помощью оболочки – специального командного интерпретатора, который является интерфейсом между человеком и ядром операционной системы. В "Линуксе" скрипты, по сути, это просто файл, в котором перечисляются системные команды. Это просто и одновременно удобно. Но оболочке нужно знать, как же такой файл следует обрабатывать. По умолчанию она просто читает. А если нужно выполнить, то используется конструкция «#!», которую необходимо поставить перед командой. Все скрипты имеют расширение.sh. Следует отметить, что с их помощью можно делать довольно много сложных вещей. Например, резервное копирование файлов. В целом вариантов использования чрезвычайно много.

    Учимся писать скрипты

    Итак, первоначально необходимо определиться со средой, где мы будем набирать код. Почти всегда для этого достаточно одного "Блокнота". Но в нём не очень удобно отображать строение конструкций, к тому же не подсвечиваются операторы и другие элементы. Поэтому в качестве достойной альтернативы можно предложить программу Notepad++. Для тех, кто знает английский язык, не так сложно перевести, что это тоже "Блокнот". Но с расширенными возможностями. Эта небольшая, но очень приятная разработка ориентирована в первую очередь на программистов. В ней можно включить настройку отображения почти всего, что только есть. Присутствует удобный инструмент отображения кода и множество других хоть и мелких, но приятных вещиц, которые сделают процесс написания более комфортным. В целом же на вопрос "где писать скрипты" дано множество различных ответов, каждый из которых предлагает свою изюминку. Есть и очень навороченные среды, с эмуляторами и множеством инструментов отладки. Выбирай, что душе пожелается. После этого необходимо позаботиться о наличии знаний. В качестве базиса подойдёт справка по языку программирования или же команд операционной системы. Для более продвинутого изучения можно прочитать несколько книг, в которых объясняются особенности машинной логики и обработки кода.

    Сервисы обучения в реальном времени

    Если интересует, как научиться писать скрипты, то не следует сбрасывать со счетов и возможность обучения с помощью информационных образовательных технологий. Как приблизительно выглядит такая «кузница программистов»? По программе, составленной согласно мнению опытных разработчиков, новичка ведут от самого лёгкого к сложным моментам. Так, первоначально может изучаться динамическое обновление данных, чтобы в последующем перейти к созданию сокет-серверов. И человек проходит обучение не спеша, поэтапно, усваивая максимальное количество данных. Поэтому, если возникнут сложности, можно обратиться за помощью к ним. Не факт, что первый попавшийся удовлетворит все потребности, но тогда необходимо будет просто попробовать что-то иное.

    Зачем же изучать?

    Многих интересует, как писать скрипты для игр. Что ж, это не очень сложно, но и не единственное применение подобной возможности. Но давайте же рассмотрим на примере игры. Допустим, человеку нравится играть на определённом сайте в какое-то развлечение. Но оно, увы, предусматривает, что необходимо или вкладывать свои деньги, или же долго и монотонно выполнять определённые действия. И если был выбран второй путь, то скрипты - это именно то, что здесь нужно. Подобное может быть использовано и в стационарных играх на компьютере. Там есть персонажи под управлением искусственного интеллекта, и чтобы сразиться с ним, можно создать свою версию ИИ, устроив таким образом битву компьютера с самим собой (и для более лёгкого прохождения). Но скрипты могут быть успешно использованы не только в играх. Допустим, что есть сайт серьёзной компании. Важным аспектом является максимальная поддержка коммуникации с клиентами. И для этого в виде скрипта добавляется небольшая форма, с помощью которой можно получить консультацию специалиста в онлайн-режиме. Возможностей применения много!

    Заключение

    Увы, но в рамках статьи очень сложно передать, как правильно писать скрипты. Можно, конечно, использовать общие фразы о том, что код должен занимать меньше места, быть оптимальным и много чего другого, но действительно понять это можно будет только на практике. Ведь только опыт и поиск оптимальных решений могут помочь в реализации программ таким образом, чтобы они с минимальными трудозатратами выполняли свои «обязанности». В программировании вообще, а не только в написании скриптов, очень много зависит от практики! Поэтому нужно постоянно учиться, совершенствоваться и думать, как же реализовать поставленную задачу наилучшим образом.

    fb.ru

    7 скриптов для Windows, которые помогут сэкономить время
    • Главная
    • Курсы
    • Вебинары
    • Форум
    • Тесты
    • Карьера
    • Главная
    • Курсы
    • Вебинары
    • Форум
    • Тесты
    • Карьера
    • Помощь

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

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

    Выключение и перезапуск

    Итак, самая простая операция выключения вашего компьютера. Открываем блокнот, прописываем:

    shutdown -s -t 0

    Сохраняем файл, как *.cmd (*- имя вашего файла, например shutdown.cmd) и не забудьте в типе выбрать “все файлы”. Всё, исполняемый файл по запуску выключит ваш компьютер. “-s”, в данном случае означает выключение, замените на “-r” - получите перезагрузку. “-t” - таймер, у нас он установлен на 0 секунд, но если установить на 60 - получите выключение через 60 секунд.

    Удаляем ненужное

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

    get-appxpackage -name *APPNAME* | remove-appxpackage

    Как вы понимаете, *APPNAME* - название неинтересующей надстройки. Да, удалять эти пакеты можно стандартным путём или через специальные программы, но вы можете создать скрипт, который удалит их все одним двойным кликом.

    Управляем процессами

    Есть в PowerShell две полезные команды, которые позволят бороться с ветряными мельницами (процессами, снижающими быстродействие). Вывести их на экран можно просто прописав:

    или информацию о конкретном сервисе под кодовым названием *NAME* (на этом месте должно быть название интересующего сервиса):

    Get-Service *NAME*

    Но это можно сделать в диспетчере задач, а вот действительно полезным может оказаться создание файла, который по клику закрывал бы все процессы с повышенным потреблением ресурсов (браузеры, антивирусы и пр.). Для этого воспользуйтесь командой Stop-Service:

    Stop-Service -Name *ANTIVIRUS*

    Stop-Service -Name *BROWSER*

    Названия для замены указаны в * *.

    Переименовываем группу файлов

    Ещё одна назойливая проблема: вы скопировали с фотоаппарата или телефона изображения. Огромная куча фотографий, которые называются однотипно вроде HGNMD034, где HGNMD - название общей директории, объединяющей файлы, например, отснятые за один день. Для того, чтобы сделать название этих файлов приятнее или иметь возможность объединить несколько папок, не получив при этом хронологическую путаницу из-за имен, можно использовать скрипт группового переименования:

    $path = "$comp\desktop\journey\russia" $filter = "*.jpg" get-childitem -path $path -filter $filter |

    rename-item -newname {$_.name -replace "HGNMD","RUSSIA"}

    В первой строке в кавычках укажите точный путь к файлам. Во второй строке - расширение файлов, подлежащих изменению. В последней строке вместо “HGNMD” - общее в названиях файлов, подлежащее замене, на что-то, вместо “RUSSIA” - имя, которое вы хотите присвоить. Если данный скрипт опять сохранить в качестве исполняемого файла, то подобные однотипные операции будут отнимать у вас всего несколько секунд времени.

    Ищем файлы

    Ещё одна простая задача, реализуемая на PowerShell - поиск файлов в директории. В данном случае рассмотрим поиск log-файлов:

    Get-Childitem C:\Windows\*.log

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

    Get-ChildItem C:\Windows\* -Include *.log -Recurse -Force

    Это чуть более правильная и полная запись, где “Include” - указывает на искомую часть, “Recurse” - на поиск во вложенных каталогах, “Force” - поиск включает в себя системные и скрытые файлы.

    Справка

    Итак, с общими принципами функционирования PowerShell мы более-менее разобрались. Если что-то непонятно - обратитесь к справочной информации следующим образом:

    Get-Help Services

    Это команда, которая выведет на экран все доступные команды с кратким описанием. Хотите подробнее? Нет ничего проще:

    Get-Help -Name *CMDLET*

    Где вместо *CMDLET* вставьте любую интересующую команду.

    Находим данные

    Теперь перейдём к простым скриптам, описанным чуть более сложными командами. Например, с помощью PowerShell вы можете выудить почти всю информацию о железе и комплектующих. Как вариант, вот скрипт для оценки уровня заряда аккумулятора:

    Add-Type -AssemblyName System.Windows.Forms .GetConstructor("NonPublic, Instance", $null, @(), $null).Invoke($null)

    Архитектура процессора удалённого компьютера:

    Assembly.GetType("System.Management.Automation.PsUtils").GetMethod("GetProcessorArchitecture", 40

    ).Invoke($null, @())

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

    Assembly.GetType("System.Management.Automation.Utils").GetMethod("IsAdministrator", 40).Invoke($null, @())

    На этом пока остановимся. Как вы наверное убедились, PowerShell не самый сложный, но очень полезный инструмент, который способен выполнять, как простейшие операции, так и достаточно сложные. Однако PowerShell не единственный инструмент для создания скриптов для Windows. Но об этом в следующий раз.

    geekbrains.ru

    Учимся писать userscript"ы

    Доброго времени суток всем желающим приобщиться к миру пользовательских скриптов (они же userscript, userJS, юзерскрипты).

    В этой статье я хочу поведать о том, что такое юзерскрипты, c чем их едят и, главное, как их готовят!

    Внимание: предполагается минимальное знание javascript.

    На практике доказано: юзерскрипты может писать человек, не знакомый с программированием, но обладающий усидчивостью и желанием изучить javascript! О том, что такое javascript и как с ним обращаться, можно узнать на javascript.ru.

    Что такое юзерскрипты? Кратко: юзерскрипт - это программа, написанная на языке JavaScript, хранящаяся на компьютере пользователя и подключаемая браузером на определенных страницах. Юзерскрипт представляет собой файл с расширением.user.js (именно по расширению браузеры понимают, что файл является юзерскриптом), содержащий метаданные и непосредственно javascript-код. При подключении к странице юзерскрипт выполняется так же, как и обычные javascript-сценарии. У юзерскрипта есть доступ к DOM-дереву страницы, в контексте которой он выполняется. В современных браузерах у юзерскрипта есть доступ к localStorage и прочим HTML5 API.

    Юзерскрипты поддерживаются всеми основными современными браузерами (и даже кое-как поддерживаются IE7 и выше).

    Самый известный портал юзерскриптов - userscripts.org. Тут можно найти хранилище скриптов, инструменты управления своими скриптами на портале и, что не маловажно, отзывчивый форум (всё на английском).

    Немного общей теории Самыми распространенными являются скрипты под расширение GreaseMonkey для браузера Firefox. Подробную информацию по GreaseMonkey и написанию юзерскриптов под GreaseMonkey можно узнать на http://wiki.greasespot.net. Так сложилось исторически, что данный браузер был (и остаётся по сей день) первым, в котором поддержка юзерскриптов была выполнена на высоком уровне.

    Не все скрипты, написанные для GreaseMonkey, могут запускаться в других браузерах. Причина в криворукости том, что во многих скриптах используется GM API - набор javascript-функций, специфичных для GreaseMonkey.

    Однако, проще всего писать юзерскрипты под браузер Google Chrome.

    На это есть ряд причин:

  • Простым скриптам не нужна поддержка GM API (библиотека, доступная в GreaseMonkey)
  • Google Chrome, в отличие от Firefox+GreaseMonkey, имеет отличнейший дебаггер.
  • Сообщения об ошибках юзерскрипта в Firefox ужасны! Если вы не обладаете даром телепатиитвердыми знаниями GreaseMonkey и javascript, написание юзерскрипта может превратится в муки!
  • Google Chrome не требует расширений для поддержки юзерскриптов. Интерфейс для удаления/отключения юзерскриптов доступен «из коробки».
  • Очевидные минусы Google Chrome:
  • Нет доступа к «родному» window.
  • Не поддерживается директива @ include метаданных. Директива @ match глючит, можно сказать, что она тоже не поддерживается.
  • Особенности юзерскриптов Код юзерскриптов может посмотреть любой желающий, вооруженный блокнотом. Базовые знания javascript позволяют отсечь угрозу установки шпионских и вредоносных скриптов простым анализом кода скрипта (придётся задействовать мозг).

    Все юзерскрипты запускаются после того, как загрузились все основные элементы страницы, но ещё не загрузились картинки. Можно сказать, что юзерскрипты грузятся по событию DOMContentLoaded.

    В любом случае, проверки на window.onload не нужны.

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

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

    Анатомия юзерскриптов Юзерскрипт - это текстовый файл с расширением user.js. В начале файла располагается блок метаданных - описание самого скрипта. После блока метаданных следует javascript-код, который и будет исполняться браузером. Рассмотрим тестовый скрипт, который показывает alert с текстом на определенной странице.// ==UserScript== // @name myUserJS // @description Мой самый первый юзерскрипт // @author Vasya Pupkin // @license MIT // @version 1.0 // @include http://userscripts.org/* // ==/UserScript== // Оборачиваем скрипт в замыкание, для кроссбраузерности (opera, ie) (function (window, undefined) { // нормализуем window var w; if (typeof unsafeWindow != undefined) { w = unsafeWindow } else { w = window; } // В юзерскрипты можно вставлять практически любые javascript-библиотеки. // Код библиотеки копируется прямо в юзерскрипт. // При подключении библиотеки нужно передать w в качестве параметра окна window // Пример: подключение jquery.min.js // (function(a,b){function ci(a) ... a.jQuery=a.$=d})(w); // не запускаем скрипт во фреймах // без этого условия скрипт будет запускаться несколько раз на странице с фреймами if (w.self != w.top) { return; } // дополнительная проверка наряду с @include if (/http:\/\/userscripts.org/.test(w.location.href)) { //Ниже идёт непосредственно код скрипта alert("Userscripts приветствует вас навязчивым окном."); } })(window);

    Важно: данный скрипт представляет собой оболочку для кроссбраузерных юзерскриптов. Этот же скрипт, но с английскими комментариями, можно стянуть с pastebin.com и использовать безнаказанно.

    В самом начале располагается блок метаданных (в виде комментария). // ==UserScript== // ... // ==/UserScript== Этот блок состоит из директив описания юзерскрипта. Ниже в таблице представлены основные директивы и их назначение.

    Важно:Все директивы, как и сам блок метаданных, могут отсутствовать.

    Директива Назначение
    @ name Название юзерскрипта. Это название будет отображаться в интерфейсе управления юзерскриптами. Если директива отсутствует, то название

    юзерскрипта будет таким же, как и название файла.

    @ description Описание юзерскрипта. Это описание будет отображаться в интерфейсе управления

    юзерскриптами.

    @ namespace Пространство имён. Определяет уникальность набора скриптов. Сюда можно вписать имя домена, принадлежащего вам. Или любую другую строку.

    Считайте, что это второе название скрипта. Обязательная директива для Trixie!

    @ author Имя автора.
    @ license Название лицензии, по которой распространяется юзерскрипт.
    @ version Номер версии юзерскрипта. К сожалению, механизма автообновления нету ни в одном браузере,

    поэтому номер версии - это просто цифры, которые отображаются в интерфейсе.

    @ include Директива описания url страницы, на которой нужно запускать юзерскрипт.

    Поддерживает вайлдкард *(применимо в GreaseMoneky, Opera, IE).

    Для каждого отдельного url нужно использовать отдельную директиву @ include.

    @ exclude Директива описания url страницы, на которой не нужно запускать юзерскрипт. Поддерживает вайлдкард *(применимо в GreaseMonkey, Opera, IE). Для каждого отдельного url нужно использовать отдельную директиву @ exclude.
    @ match Аналогично @ include, но с более жесткими ограничениями (применимо в GreaseMonkey старше 0.9.8, Google Chrome). Подробнее об ограничениях и формате директивы можно

    Для каждого отдельного url нужно использовать отдельную директиву @ match.

    Важно: Как показала практика, полагаться на директиву @ match в юзерскриптах не стоит. Google Chrome периодически отказывается учитывать @ match и запускает юзерскрипты на всех страницах. Для предотвращения такой ситуации в юзерскрипты, которые будут запускаться не только в Firefox,

    нужно добавлять код проверки адреса страницы (см. ссылку в коде юзерскрипта).

    Важно: При отсутствии директив @ include или @ match, юзерскрипты будут запускаться на всех страницах.

    В нашем юзерскрипте использован ряд хитростей:

  • Для того, чтобы юзерскрипты имели одинаковое поведение и не загрязняли глобальную область видимости, код оборачивается в замыкание (см. в коде скрипта).
  • Для правильного подключения библиотек внутри юзерскрипта и для обхода некоторых хитрых особеннойстей GreaseMonkey, необходимо «нормализовать» ссылку на глобальную область видимости window (см. в коде скрипта).
  • Для того, чтобы юзерскрипт не запускался несколько раз на одной и той же странице, необходимо останавливать работу при запуске юзерскрипта во фреймах (см. в коде скрипта).
  • Для того, чтобы юзерскрипт запускался только на нужных нам страницах, необходимо явно проверять url страницы (см. в коде скрипта).
  • Благодаря такой структуре, юзерскрипт может быть относительно просто преобразован в букмарклет.
  • Результат Наш юзерскрипт готов к использованию! Нет, серьёзно, вы можете скопировать код юзерскрипта в файл, назвать его my.user.js, и закинуть полученный файл в браузер (используйте Chrome или Firefox с установленным GreaseMonkey).

    Конечно, наш юзерскрипт не обладает серьезными функциями, код выглядит страшным и малопривлекательным (для непосвященного человека). Но в итоге мы получили заготовку для кроссбраузерных юзерскриптов.

    Это значит, что юзерскрипт можно запустить практически в любом современном браузере! И это замечательно! Остаётся вопрос: как «раздать» наш скрипт пользователям (ведь мы писали скрипт не только для себя)? Варианты:

    • Зарегестрироваться на портале userscripts.org и загружать скрипты туда.
    • Завести репозиторий на code.google.com или github.com.
    • Создать свой простой сервис/сайт/страничку. Важно:Если хотите, чтобы у пользователей GreaseMonkey автоматически открывался диалог установки юзерскрипта, отдавайте файл прямиком с файловой системы (url файла должен заканчиваться на.user.js). В противном случае пользователь увидит исходный код скрипта и панель с кнопкой «установить». Эта кнопка не работает!
    Рецепт для непрограммистов (похожими методами пишется ~70% скриптов):
  • Придумываем, что будет делать наш юзерскрипт (перекрашивать ссылки, например)
  • Берём шаблон из статьи
  • Сохраняем в файл my.user.js
  • Удаляем строку с alert(...).
  • Идём на форум (userscripts.org или любой форум по javascript).
  • Спамим, флудим и достаём людей вопросами «как перекрашивать ссылки», «дайте код» и т.д.
  • Изменяем метаданные и проверку url страницы на нужные нам.
  • Вставляем полученный на форуме код в юзерскрипт.
  • Сохраняем файл.
  • PROFIT!!1!
  • Полезные ссылки: Список статей:

    P.S. Хотелось бы увидеть блог Userscripts на хабре. Ибо не одним GreaseMonkey едины.

    Метки:



    Есть вопросы?

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам: