Ловим попутный ветер или как запустить скрипт PHP. Powershell: как работать с программой, создавать, запускать и изменять скрипты

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

Для исполнения следующих скриптов мы обратимся к 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. Но об этом в следующий раз.

Инструкция

Запустите файл с расширением *.vbs двойным кликом мыши или вызовите его по имени в консоли. Для этого зайдите в меню пуск/выполнить и наберите путь к необходимому файлу в открывшемся окошке. Это самый обычный текстовый документ, который легко можно править в . Данный метод самый понятный и простой, но иногда в силу определенных обстоятельств он не срабатывает (система не поддерживает формат, слетела кодировка и т.д.).

Теперь подробнее о скрипт ах, исполняемых сервером.
Установить веб-сервер можно и на своём компьютере. Ему будет не нужно даже соединение с - такой сервер называется «локальным». Это очень удобно для написания и скрипт ов на серверных языках (php, perl, и т.д.). В сети можно найти дистрибутивы (комплекты для установки) как платных, так и бесплатных серверов для персонального использования - например, Zend, Денвер, XAMPP, AppServ и т.д. Но если постоянный доступ в интернет - не проблема, то можно обойтись без , а полнообъёмным веб-сервером какого-либо хостинг-провайдера. Обычно эта услуга платная, но не очень дорогая. Зато вы будете иметь возможность пользоваться массой дополнительных модулей, плагинов, обработчиков статистики и других полезностей ничуть не заботясь об их установке и поддержании в рабочем состоянии.

И, наконец, о сценариях, исполняемых .
Что касается клиентских скрипт ов, то мы можем написать и запустить простейший из них прямо сейчас, ничего не покупая, не устанавливая и не запуская. Делаем так: первым делом открываем любой текстовый редактор, например блокнот. Пишем в нём всего 3 строки кода:
alert("JavaScript запущен!")
Теперь сохраняем этот код в файле с расширением html (например, js-test.html) и запускаем как обычно - двойным щелчком мыши. По расширению html (HyperText Markup Language - "язык разметки гипертекста") операционная система тип файла и запустит назначенную для запуска таких файлов программу - это браузер. А интерпретатор языка в браузере прочтёт и исполнит сценарий. Результат будет выглядеть, как на изображении.

Видео по теме

Обратите внимание

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

Написать или подобрать полезный веб-скрипт – это полдела, надо ещё найти способ его выполнить. Давайте рассмотрим подробнее, что нужно для исполнения наиболее распространённых типов скрипт ов.

Инструкция

Обязательным условием выполнения любого скрипт а (то есть сценария), естественно, является наличие самого исполнителя. Применительно к языкам -программирования таким исполнителем будет интерпретатор скрипт ового языка. В зависимости от того, где должен исполняться сценарий, интерпретатор языка может быть либо частью серверного программного обеспечения, либо частью программного кода браузера. Поэтому чтобы выполнить любой серверный скрипт (например, php- или perl-скрипт ) необходимо иметь запущенный сервер. Сервер можно подобрать в сети и у себя в . Очень популярен, к примеру, среди русскоязычных программистов из-за своей относительной простоты и бесплатности серверного программного обеспечения под названием «Денвер». А можно не морочиться с установкой у себя, а воспользоваться услугами хостинг-провайдера. Провайдер даст вам доступ к , а все заботы по его поддержанию и обслуживанию вас не будут касаться. Обычно такие платны, но не дороги.

По- обстоит дело с «клиентскими» скрипт ами. Это сценарии, которые должны выполняться прямо в . Чтобы выполнить такой скрипт , написанный, например, на языке JavaScript кроме браузера да простого текстового редактора (подойдёт стандартный блокнот) ничего больше не требуется. Вот, к примеру, простейший скрипт : var now = new Date();
document.write ("Этот скрипт выплнен в " + now.getHours() + " часов " + now.getMinutes() + " минут");Чтобы его выполнить, достаточно сохранить этот код в файле с расширением html (например, test.html) а затем запустить двойным щелчком мыши. Расширение html (HyperText Markup Language - «язык разметки гипертекста») в операционной системе зарезервировано за файлами, содержащими веб-страницы. Поэтому ОС запустит ваш браузер и передаст ему адрес этого файла, а браузер распознает скрипт , прочтёт и выполнит его сценарий. В результате мы увидим такую же простую, как и скрипт в ней содержащийся:

Видео по теме

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

Инструкция

Нажмите кнопку «Пуск» для вызова главного меню системы и перейдите в пункт «Выполнить» для инициации процедуры запуска скрипта через консоль.

Введите значение cmd в поле «Открыть» и нажмите кнопку OK для подтверждения запуска инструмента командной строки.

Ознакомьтесь с возможными командами консоли. Для получения информации введите значение ntcmds в текстовое поле командной строки и нажмите функциональную клавишу Enter для подтверждения выполнения команды.

Используйте значение cd для введения команды запуска выбранного скрипта. Для этого укажите в команде путь к месту сохранения выбранного файла: cd c:script. Затем нажмите функциональную клавишу Enter для подтверждения своего выбора.

Укажите имя необходимого скрипта в текстовом поле инструмента «Командная строка» и повторите нажатие функциональной клавиши Enter для применения выбранных изменений.

Загрузите и установите на компьютер программу Active Pearl для упрощения запуска выбранных скриптов.

Создайте копию необходимого скрипта и сохраните ее в файле с расширением *.pl.

Выполните двойной клик мыши на сохраненном файле для запуска выбранного скрипта или вернитесь в консоль Windows для выполнения альтернативного метода запуска.

Введите значение c:perlinperl.exe имя_скрипта.pl в текстовое поле командной строки и нажмите функциональную клавишу Enter для подтверждения выполнения команды запуска выбранного скрипта. В этом случае c:perlinperl.exe - полный путь к интерпретатору Active Perl, установленному раньше, а имя_скрпта.pl - сохраненный файл с нужным расширением.

Видео по теме

Полезный совет

Встроенным средством для управления скриптами является Windows Script Host (WSH), представляющий из себя набор инструментов для запуска скриптов. Встроенными интерпретаторами скриптов являются VBScipt и JScript. Первый предполагает работу через графический интерфейс системы, второй - через инструмент командной строки.

Источники:

  • Как запускать скрипты через консоль
  • Как запускать Perl скрипты под Windows

При наличии навыка управлять консольным приложением можно эффективнее, чем графическим. Такие приложения существуют для всех распространенных операционных систем, включая Linux и Windows.

Инструкция

Запустить консольное приложение в Linux можно в обычном и полноэкранном режиме. В первом случае для этого потребуется запустить эмулятор консоли. Для этого нажмите на кнопку вызова меню, которая в KDE выглядит как шестерня, в Gnome - как ладонь, а в других графических интерфейсах может иметь иной вид. В меню найдите приложение xterm, nxterm, Konsole или аналогичное. На экране появится эмулятор консоли с командной строкой. Если вы желаете запустить программу не от своего имени, а от имени другого пользователя, введите login, после чего наберите имя и пароль. Чтобы снова получить возможность запускать программы от своего имени, введите logout.

Для перехода в полноэкранную консоль нажмите Ctrl+Alt+F2. Введите логин и пароль, и появится командная строка. Вернуться обратно в графический режим можно, нажав Alt+F5 либо Alt+F7 (в зависимости от дистрибутива).

В Windows для запуска командной строки нажмите кнопку Пуск, найдите в меню пункт Выполнить и введите имя исполняемого файла - cmd. Откроется окно с командной строкой. Нажатием сочетания клавиш Ctrl+Enter можно переключаться между обычным и полноэкранным режимом.

1. Написание скрипта

Скрипт PowerShell (не важно какой версии) - это текстовый файл с расширением *.ps1 .

Вот пример простого Power Shell срипта (файл systemInfo.ps1 ):

# Retrieve WMI object for the operating system

Get-WmiObject Win32_OperatingSystem

Этот файл можно создавать и редактировать, например, в FAR Manager.

Обратите внимание , что FAR Manager хоть и может работать в консоли Power Shell, но выполняет из-под себя скрипты в окружении обычной Windows-консоли cmd . То есть, FAR Manager можно использовать только для создания и редактирования PowerShell скриптов, но не для запуска. Но прежде чем разочаровываться, прочитайте пункт 3.

2. Запуск срипта

Скрипт нужно выполнять из консоли Power Shell, а не из обычной консоли Windows. В консоли Power Shell необходимо перейти в каталог, где лежит скрипт (командами cd ), и затем запустить сам скрипт, обязательно прописав перед ним символы ".\" . Например, имеем путь к файлу скрипта d:\work\systemInfo.ps1 . Тогда команды запуска будут выглядеть так:

cd \

cd work

.\systemInfo.ps1

или так (просто указывается полный путь к скрипту):

d:\work\systemInfo.ps1

Скорее всего, при запуске скрипта появится следующая ошибка:

Не удается загрузить файл D:\work\systemInfo.ps1, так как выполнение скриптов запрещено для данной системы. Введите "get-help about_signing" для получения дополнительных сведений.

строка:1 знак: 18

CategoryInfo: NotSpecified: (:) , PSSecurityException

FullyQualifiedErrorId: RuntimeException

Ошибка появляется из-за того, что по-умолчанию в Power Shell включена максимальная политика безопасности, которая позволяет выполнять команды PowerShell в командной строке, но не позволяет в той же командной строке выполнить скрипт с командами PowerShell.

Чтобы резрешить выполнение PowerShell скриптов, нужно создать *.bat файл, например enableScript.bat со следующим содержимым:

powershell -Command Set-ExecutionPolicy RemoteSigned

Этот *.bat файл можно выполнить в любой консоли: хоть в PowerShell, хоть в обычной cmd . После выполнения этого файла, PowerShell-скрипты станут запускаться в консоли PowerShell.

3. Запуск PowerShell-скрипта из обычной Windows-консоли cmd

Скрипт PowerShell можно выполнить и из обычной консоли Windows. Для этого можно воспользоваться командой:

Powershell -File ./systemInfo.ps1

Таким образом можно выполнять скрипты прямо из FAR Manager, и они будут работать.

Но тут есть небольшая тонкость. Параметр -File срабатывает только на локальных путях, даже если путь указан относительный "./" . То есть, если *.ps1 - файл лежит на локальном диске C: или D: , то такой вызов будет работать. Но если попробовать выполнить скрипт, расположенный на доменном ресурсе, то скрипт не будет найден. Возможно, это исправят в следующих версиях PowerShell.

От автора: Если вы когда-нибудь запускали воздушного змея, то знаете, что это не так просто, хотя со стороны кажется наоборот. На самом деле нужно приловчиться, чтобы вовремя веревку натянуть или поймать воздушную «волну». Сегодня я расскажу, как запустить скрипт PHP и какие «веревочки» дергать, чтобы он не просто работал, а «летал»!

Особенности запуска

Как уже не раз упоминалось, – это серверный язык программирования, поэтому сделать так, чтобы результат работы его кода отобразился в браузере, будет немного сложнее. Для этого файл должен располагаться непосредственно на серверном пространстве. Для работы с PHP используются два типа сервера:

Обычный (удаленный) –предоставляется хостером.

Локальный – устанавливается на клиентской машине.

На стороне хостинга, чтобы увидеть результат работы скрипта, в строку браузера вводится адрес следующего формата: ваш_сайт.ru/имя_файла.php

На локальном сервере все обстоит иначе. Перед тем, как запустим PHP скрипт в браузере, выясним эти особенности.
В зависимости от применяемого сервера набираемый адрес может отличаться. Чаще всего в «наших» краях используются различные сборки с Apache, из которых самой распространенной является Денвер.

Запуск скрипта в Denwer

В «апачевских» сборках все скрипты запускаются в localhost. Чтобы продемонстрировать это на практике, создадим какой-нибудь интересный пример. Вот его код:

< html >

< head >

< meta http - equiv = "refresh" content = "1" >

< / head >

< body >

< time style = "font-size:36px;color:rgb(102,255,102)" > < / time >

< / body >

< / html >

Разместите этот код в файле PHP и сохраните его на виртуальном диске, который создается после запуска локального сервера. У меня это файл test2.php.

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

Теперь разберемся, как запустить PHP скрипт на компьютере. Для этого в браузере следует указать адрес в формате: localhost/имя_файла.php

Начинаем мучиться

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

Это странно, поскольку упоминаемые библиотеки у меня присутствовали в папке ext. Оказывается, что все дело в неправильно прописанных путях в конфигурационном файле php.ini.

В нем нужно найти раздел «Paths and Directories» и исправить путь, указанный в параметре extension_dir. Измените правые слэши на левосторонние и добавьте в начале адреса букву виртуального диска.

Если запустить PHP скрипт из CMD консоли опять не получается, тогда следует просмотреть все пути, упоминаемые в сообщении ошибки, и исправить их.

Если все хорошо

В командной строке системе нужно указать путь, где находится «экзешник» интерпретатора языка PHP. В Денвере он находится по этому пути: Z:\usr\local\php5

Здесь же расположен и глобальный файл конфигурации.

Запускаем командную строку Винды. Затем указываем системе путь к исполняемому файлу PHP. После чего задаем путь к нужному скрипту: Z:\usr\local\php5\php.exe Z:\home\localhost\www\test2.php

Но в итоге вы получите не совсем ожидаемый результат:

И все потому, что командная строка «не понимает» теги . Перед тем, как запустить PHP скрипт из командной строки, немного модифицируем код, чтобы он возвращал нам только текущее время без эффекта «часов».

С помощью скриптов R можно быстро и бесплатно собирать данные из API различных сервисов или рекламных площадок и записывать их в базу данных. Но если вы регулярно пользуетесь скриптами, то есть ли смысл каждый раз запускать их вручную?

Я расскажу, как настроить запуск скриптов R с определенным интервалом в операционной системе Windows.

1. Как добавить путь к R-консоли в переменную окружения PATH?

PATH — переменная окружения Unix-подобных операционных систем, DOS, OS/2 и Microsoft Windows, представляющая собой набор директорий, в которых расположены исполняемые файлы. В основном, каждый выполняемый процесс или сеанс пользователя имеет собственную переменную PATH.

Эта инструкция относится к операционным системам Windows 8 и 10, но вы без проблем можете подробные руководства и для любой другой версии Windows.
1.1. В строке «Поиск» найдите «Система (Панель управления)» и нажмите на ссылку «Дополнительные параметры системы».

1.2. В окне свойств системы нажмите на кнопку «Переменные среды...».

1.3. В разделе «Переменные среды» кликните на переменную PATH и нажмите «Изменить». Если переменной PATH не существует, нажмите «Создать».

1.4. Добавьте в переменную путь к папке с файлом «R.exe ».

Bat-файл, по сути, похож на файл с расширением exe, но его код более простой и состоит из некоторых командных строк.

Создать bat-файл довольно просто. Можно записать команду запуска в обычный текстовый файл с расширением TXT, сохранить его и поменять расширение на «.bat ». Я опишу другой способ — создание bat-файла с помощью бесплатного блокнота Notepad++.

2.1. Откройте Notepad++ (скачать его можете по ссылке).

2.2. Введите следующую команду:

@echo off R CMD BATCH C:\R\myscript.R

Команда «@echo off » отключает вывод сообщений в командной строке при работе скрипта, вы можете изменить эту команду на «@echo on » и наблюдать за выполнением скрипта в ходе его работы.

Команда «R CMD BATCH » запускает выполнение R скрипта.

Во второй строке вместо «C:\R\myscript.R» пропишите путь к вашему файлу со скриптом R.

В результате файл будет выглядеть так:

2.3. Сохраните созданный текстовый файл с расширением BAT. Для этого в меню Notepad++ выберите пункт «Файл» — «Сохранить как» — «Batch file (bat, cmd, nt)».

Если вы не хотите, чтобы при автозапуске R-скрипта на экране появлялось окно командной строки, то скомпилируйте ваш bat-файла в exe — в таком случае скрипт будет работать в фоновом режиме и не будет вам мешать.

3.1. Скачайте бесплатную утилиту «Bat To Exe Converter» по ссылке .

3.2. Укажите bat-файл, который необходимо скомпилировать, а также путь и название будущего exe-файла.

3.3. В области «Видимость приложения» установите переключатель в положение «Невидимое приложение».

3.4. При желании установите иконку для вашего файла.

Чтобы установить иконку, перейдите на вкладку «Информация о версии» и с помощью кнопки «...» выберите нужную иконку в поле «Файл значка».

В качестве иконки можете использовать любое изображение в формате ICO или же нарисовать самостоятельно в бесплатном онлайн-редакторе .

Нажмите кнопку «Компилировать».

4. Настройте планировщик задач Windows

Заключительный этап настройки — добавить задачу в планировщик задач Windows.

Планировщик задач Windows — встроенная утилита (аналог линуксового CRON), с помощью которой можно запланировать в определенное время с заданными условиями:

  • запуск любой программы;
  • отправку электронной почты;
  • вывод на экран определенного сообщения.

4.1. Чтобы открыть планировщик задач, скопируйте в адресную строку открытой папки путь «%windir%\system32\taskschd.msc /s ».

4.2. В правой части планировщика выберите пункт «Создать задачу...».

4.3. На вкладке «Общие» в диалоговом окне «Создание задачи» введите название и при необходимости краткое описание.

4.4. На вкладке «Триггеры» настройте расписание запуска скрипта: нажмите «Создать» и установите, к примеру, повтор запуска скрипта каждый понедельник в 12:45.

На этом процесс настройки запуска R скриптов по расписанию закончен. Если вы все сделали правильно, в списке появится новая задача.

Вывод

С этим руководством настройка автозапуска займет не более десяти минут, и поможет сэкономить время в будущем.

Алгоритм действий:

  • В переменной окружения PATH пропишите путь к консоли R.
  • Создайте скрипт R, который будет выполнять нужные действия (например, сохранять результат в файл формата CSV или записывать в базу данных).
  • Создайте bat-файл, в котором будет прописан путь к скрипту R.
  • Скомпилируйте ваш bat-файла в exe, чтобы он запускался в фоновом режиме и не отвлекал от работы.
  • В планировщике задач Windows добавьте повторяющееся задание на запуск bat-файла и установите определенный интервал времени.
  • Обрабатывать огромные массивы данных, агрегировать и передавать их в любые базы — просто и быстро, если вы правильно организовали свою работу.