Как запустить скрипт через командную строку windows

Как запустить PHP скрипт в командной строке (без веб-сервера)

Как запустить PHP скрипт в командной строке Windows

Для запуска PHP в командной строке необязательно устанавливать веб-сервер, достаточно скачать и распаковать архив с PHP интерпретатором. О том, где скачать PHP с официального сайта и как разобраться с версиями, смотрите эту статью.

Если вы часто будете запускать PHP скрипты из командной строки Windows, то настоятельно рекомендуется Добавить путь до PHP в переменную окружения PATH в Windows. Благодаря этому не придётся каждый раз указывать полный путь до файла php.exe.

Теперь, когда PHP установлен и путь до php.exe добавлен в переменную окружения Windows, открываем командную строку, для этого нажмите сочетание клавиш Win+x и выберите Windows PowerShell.

Для проверки, что нормально установилось, посмотрим справку по PHP:

На самом деле, мы запускаем файл php.exe, но расширение можно отбросить. То есть предыдущая запись эквивалентна

Как запустить .php скрипт в командной строке Windows и Linux

Для запуска .php файла в консоли Windows используется следующая команда:

Опцию -f можно отбросить, то есть предыдущая и следующая команды равнозначны:

Я создал тестовый файл, который расположен по пути C:\Users\Alex\Documents\PHP\test.php тогда я могу запустить его в PHP так:

Как передать аргументы PHP скрипту в командной строке

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

Пример запуска PHP скрипта с тремя аргументами:

Как в PHP скрипте обратиться к аргументам

Переданные аргументы содержаться в массиве $argv. Причём, порядковый номер аргумента соответствует номеру в массиве. То есть первый аргумент будет помещён в $argv[1], второй в $argv[2] и так далее.

Самый первый элемент массива $argv[0] содержит полный путь до запускаемого скрипта.

Содержимое файла test.php:

Запустим его и передадим в скрипт три аргумента:

Как в PHP получить данные от пользователя в консоли

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

Кстати, при работе в окружении веб-сервера, то есть когда PHP скрипт выполняет задачи для веб-сайта, возможность передать ему аргументы реализована с помощью HTTP методов GET и POST. Эти аргументы передаются перед запуском скрипта, и уже после запуска PHP скрипта новые данные отправить нельзя — нужно ждать завершения работы программы, и при необходимости запустить её ещё раз с новыми данными.

Во время работы скрипта может потребоваться ввод новых данных, в консоли это достигается с помощью строки запроса, в которую пользователь может ввести значение и нажать Enter для передачи его скрипту. В контексте веб-сайта такой возможности — передать данные уже во время выполнения скрипта — нет. То есть консольный запуск PHP скриптов с аргументами не только проще (не нужно возиться с HTML формой), но и даже более гибкий.

Читайте также:  Windows 10 1909 compact от гениального программиста flibustier

В PHP для запроса пользователю используется функция readline.

Эта функция одинаково работает и на Windows и на Linux. Причём на Linux она имеет интерактивные возможности Bash, например, сохраняет историю ввода, к которой можно вернуться с помощью стрелок. На Windows эта возможность появилась начиная с PHP 7.1.

Если сильно надо, можно настроить автозавершение вводимых данных. Все функции GNU Readline рассмотрены здесь. Я же коснусь только readline, которая считывает введённую пользователем строку. С этой функцией можно указать один опциональный аргумент — строку, которая будет показана пользователю в приглашении.

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

Выполнение команд PHP в интерактивном режиме

Если вам это нужно, то можно работать с интерпретатором PHP в интерактивном режиме, вводя код построчно. При этом код выполняется после нажатия кнопки Enter, но значения переменных сохраняются в рамках одной сессии. То есть вы можете присвоить значение какой-либо переменной, а затем использовать его в других строках.

Для запуска интерактивного шелла:

Запуск отдельных команд PHP

Для выполнения отдельных команд используйте опцию -r:

Запуск скриптов PowerShell

PowerShell — это новая командная оболочка для Windows, которая по задумкам Microsoft должна вытеснить и заменить cmd. По-умолчанию, эта оболочка уже идет в составе Windows 7 и выше. Если у вас более старая операционная система или вы просто хотите скачать более свежую версию PowerShell, сделать это можно здесь: https://technet.microsoft.com/en-us/scriptcenter/dd742419.aspx

Как запустить скрипт PowerShell?

Есть несколько различных способов запуска скрипта, ниже приведены основные:

  1. Запустить оболочку PowerShell и в ней запустить скрипт (ввести путь до файла и имя файла, например, так: C:\Scripts\test.ps1, или перейти в папку скрипта командой cd C:\Scripts и запустить его командой .\test.ps1) Оболочку можно найти и запустить множеством способов. Один из способов — через меню «Пуск». Для Windows 7 — нужно зайти во «Все программы» — «Стандартные» — «Windows PowerShell» и запустить оболочку «Windows PowerShell». Для Windows 10 — нужно найти группу на букву «W» и в ней вы найдете «Windows PowerShell».
  2. Запустить «Интегрированную среду сценариев Windows PowerShell ISE» — это программа — среда разработки, позволяющая редактировать и отлаживать скрипты PowerShell, которая так же есть по-умолчанию вместе с самим PowerShell. Запустив ее, нужно просто нажать кнопку «Открыть» или зайти в меню Файл — Открыть и выбрать нужный скрипт, затем нажать F5 или кнопку «Выполнить скрипт».Найти Windows PowerShell ISE можно там же, где и оболочку PowerShell — в меню «Пуск».
  3. Запустить стандартную коммандную строку и в ней написать:
    powershell -file (пример: powershell -file myscript.ps1)

Если вы раньше не запускали скрипты PowerShell, то скорее всего, вы получите сообщение: Не удается загрузить файл , так как выполнение скриптов запрещено для данной системы. Введите «get-help about_signing» для получения дополнительных сведений. Связано это с тем, что из соображений безопасности и недопущения случайного выполнения вредоносного кода, все скрипты должны быть подписаны цифровой подписью.

Как разрешить выполнение неподписанного скрипта PowerShell?

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

Set-ExecutionPolicy RemoteSigned -Scope Process

2. При запуске из стандартной коммандной строки использовать параметр -executionpolicy, т.е. запускать скрипт так:

Читайте также:  Windows rar arch type file

powershell -executionpolicy RemoteSigned -file

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

3. Разрешить запуск навсегда : запустить оболочку PowerShell от имени «Администратора», затем выполните команду:

Set-ExecutionPolicy RemoteSigned

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

Примечание: Если скрипт был загружен из интернета, то чтобы избежать запроса на подтверждение запуска, нужно вместо RemoteSigned использовать Bypass — полное отключение любых запросов и предупреждений.

Как запустить скрипт PowerShell в фоновом режиме?

Для этого достаточно использовать параметр запуска -WindowStyle, который может принимать значения: Normal, Minimized, Maximized и Hidden. Таким образом, чтобы запустить неподписанный скрипт в фоновом режиме, нужно выполнить команду:

powershell -executionpolicy RemoteSigned -WindowStyle Hidden -file

Так же можно еще при желании добавить -NonInteractive, чтобы скрипт не задавал никаких вопросов. Таким образом, скрипт выполнится незаметно для пользователя. Будmте внимательны, используя такой способ.

Запуск скрипта PowerShell c параметрами

Собственно запуск нужно делать как если бы вы запускали обычную программу или bat-файл с параметрами. Например, для запуска скрипта с параметрами из командной, можно написать такую команду:

powershell -executionpolicy RemoteSigned -file param1 param2 «еще один текстовый параметр»

В самом скрипте вы можете получить эти параметры так:

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

Как запустить скрипт PowerShell с помощью ярлыка?

Осуществить такую задачу можно двумя способами:

  1. Создать bat/cmd файл, в котором прописать команду для запуска скрипта (с параметрами вы ознакомились выше)
  2. Создать ярлык на PowerShell, который можно найти в папке c:\Windows\System32\WindowsPowerShell\v \ и в свойствах ярлыка в поле «Объект» дописать необходимые параметры.

Таким образом, например, чтобы запустить скрипт powershell при входе пользователя, можно просто создать ярлык, как описано во 2-м пункте и поместить его в автозагрузку. Так же, создание ярлыка одним из способов выше позволит легко запустить скрипт от имени администратора или от имени любого другого пользователя как обычную программу.

Скриптовый язык PowerShell — довольно мощный инструмент для решения различных задач, но его можно использовать не только для хороших вещей, но и во вред, поэтому, пользуйтесь им с умом 😉

Как запустить скрипт через командную строку windows

Выпуск #01

«Vbs, whs, js скрипты для администратора»

22 июля 2008

Как можно запустить скрипт?

Расмотрим процесс запуска самого простого скрипта (сценария). Для этого нужно на рабочем диске выделить место для хранения скриптов, пусть это будет диск c: и папка Script. Выполняются скрипты с помощью серверов сценариев, которые переводят команды текста в исполняемый код.

Интерпретаторы в Windows представлены двумя файлами: wscript.exe и cscript.exe. Оба позволяют работать с VBScript и JScript и применять все возможности административных скриптов. Отличия:

wscript — средство, ориентированное на работу с графическим интерфейсом, вывод — через графические окна сообщений;

cscript — ориентировано на командную строку, вывод — на консоль.

Отличия можно увидеть наглядно на примерах выполнения команды. Создадим самый простой скрипт.

Создаем файл vbs.

Вызовите проводник (чтобы открыть проводник, нажмите кнопку Пуск и выберите команды Программы, Стандартные и Проводник ), зайдите в пункт меню «Сервис\Свойства папки» и убедитесь, что у вас отключена галочка.

Читайте также:  Rt3290 ������� ��� linux

Выбираем диск c:, каталог Script и вставляем текстовый файл и переименувываем его в hello.vbs.

В сам файл внесем текст:

Данный скрипт выводит сообщение Hello!.

Рассмотрим варианты запуска этого скрипта.

1. Запуск скрипта с командной строки с помощью утилиты CScript.exe

Для запуска нашего скрипта с командной строки нужно вызвать консоль командной строки. В операционной системе выполните «Пуск\Выполнить. » и наберите cmd.exe. У вас вызовется консоль командной строки.

В консоле командной строки выполните команду CScript.exe c:\script\hello.vbs

Как видно из рисунка, наше сообщение вывелось в консоле.

В приложении 1 дан список ключей, для выполнения csript.exe. Допустим нам не хочется, чтобы выводился в командную строку логотип сервера сценариев, для этого надо запустить сценарий с командной CScript.exe c:\script\hello.vbs //Nologo.

2. Запуск скрипта с командной строки с помощью утилиты WScript.exe

Воспользуемся консолью, которую мы запустили для вызова скрипта с помощью утилиты CScript.exe. Вызовем скрипт с помощью утилиты WScript.exe набрав в окне консоли команду WScript.exe c:\Script\hello.vbs. Сообщение скрипта вывелось в виде всплывающего окошка.

3. Запуск скрипта используя команду»Пуск\Выполнить. «

при помощи утилиты WScript.exe

В операционной системе нажав «Пуск» и затем «Выполнить» выполним скрипт набрав ту же команду, что и в предыдущем примере: WScript.exe c:\Script\hello.vbs. Появится такое же окошко, что и в предыдущем примере.

4. Запуск скрипта с помощью файлового менеджера.

Выполнить скрипт можно с помощью любого файлового менеджера. Запустим Explover, выбирем диск c:, зайдем в папку Script и выполним файл hello.vbs нажав на нем двойной щелчок.

Приложения

Приложение 1

Запуск скриптов с помощью сервера скриптов для командной строки csript.exe

Для выполнения сценариев с помощью сервера сценариев для командной строки предусмотрен следующий синтаксис:

cscript [имя_сценария] [параметры_сервера] [аргументы_сценария]

  • имя_сценария — имя файла сценария, включая путь и расширение.
  • параметры_сервера — ключи командной строки, задающие различные свойства сервера сценариев Windows. Параметр сервера всегда начинается с двух косых черт (//).
  • аргументы_сценария — ключи командной строки, которые передаются в сценарий. Аргумент сценария всегда начинается с одной косой черты (/).
    Примечания

Все параметры являются необязательными, однако нельзя задать аргументы сценария, не задав сценарий. При отсутствии аргументов сценария или самого сценария программа Cscript.exe выведет описание синтаксиса команды и предусмотренные ключи.
Ключи сервера сценариев для командной строки (см. таблицу).

//B Включение пакетного режима, при котором не выводятся подсказки и сообщения об ошибках. //D Включение отладчика. //E:обработчик Указание обработчика, используемого для выполнения сценария. //H:cscript или //H:wscript Регистрация Cscript.exe или Wscript.exe в качестве сервера сценариев, применяемого по умолчанию. Если ключ не задан, используется Wscript.exe. //I Включение интерактивного режима, в котором выводятся подсказки и сообщения об ошибках. Применяется по умолчанию; отменяет ключ //B. //Job:xxxx Выполнение задания xxxx, указанного в файле сценария .wsf. //Logo Отображение перед выполнением сценария эмблемы сервера сценариев Windows. Применяется по умолчанию; отменяет режим //Nologo. //Nologo Скрытие перед выполнением сценария эмблемы сервера сценариев Windows. //S Сохранение параметров текущей командной строки для данного пользователя. //T:nnnnn Указание максимального времени (в секундах), отведенного на выполнение сценария. Можно указать значение времени до 32 767 секунд. По умолчанию время выполнения не ограничено. //X Запуск сценария в отладчике. //? Вывод предусмотреных параметров командной строки и встроенной справки (аналогично запуску программы Cscript.exe без аргументов и без задания сценария).

Copyright 2008 Новопашин Владимир. Все права защищены.

Оцените статью