Скрипты в командной строке windows: Инструменты командной строки и автоматизации | windows
Запустите скрипт shell (с параметрами) в командной строке Windows через Plink
Мне нужно выполнить сценарий shell удаленно внутри коробки Linux из Windows
#!/bin/bash
if [ "$#" -ne 1 ]; then
echo "Illegal number of parameters"
exit
fi
echo "$1"
Вот команда, которую я запустил из командной строки Windows
cmd> plink.exe -ssh username@host -pw gbG32s4D/ -m C:\myscript.sh 5
Я получаю вывод как
«Illegal number of parameters»
Есть ли какой-нибудь способ передать параметр командной строки скрипту shell, который будет выполняться на удаленном сервере?
bash
shell
ssh
putty
plink
Поделиться
Источник
aaditya 1985
13 декабря 2014 в 19:09
3 ответа
10
Вы неправильно понимаете, как работает переключатель -m
.
Это просто способ заставить plink
загружать команды для отправки на сервер из локального файла.
Файл NOT загружается и выполняется на удаленном сервере (с аргументами).
Его содержимое считывается локально, отправляется на сервер и выполняется там так, как если бы вы набрали его в (удаленной) командной строке. Вы не можете дать ему аргументов.
Обходной путь состоит в том, чтобы сгенерировать файл на лету локально перед запуском plink
из batch file (скажем, run.bat
):
echo echo %1 > script.tmp
plink.exe -ssh username@host -pw gbG32s4D/ -m script.tmp
Затем запустите batch file с аргументом:
run.bat 5
Вышесказанное заставит скрипт выполнить echo 5
на сервере.
Если сценарий сложный, вместо того чтобы собирать его локально, подготовьте его на сервере (как предложил @MarcelKuiper) и выполните только сценарий через Plink.
plink.exe -ssh username@host -pw gbG32s4D/ "./myscript.sh %1"
В этом случае, поскольку мы выполняем только одну команду, вы можете передать ее в командной строке Plink, включая аргументы. Вам не нужно использовать переключатель -m
с (временным) файлом.
Поделиться
Martin Prikryl
15 декабря 2014 в 09:42
1
Я запустил скрипт Shell в «commands.txt» от Plink, который работал для меня как заклинание с помощью нижеприведенного метода, который я попробовал:
- Вы можете определить свой скрипт как однострочный, используя && в файле (я определил в одном лайнере)
- Вам нужно запустить свою команду в <
Примечание: используйте первый EOF в кавычке, как <<‘EOF’, но не последний. Иначе вы увидите, что ваш код будет вести себя странно.
Пожалуйста, смотрите ниже.
Пример:
sudo -i <<'EOF'
<your script here>
EOF
Затем, наконец, запустите его с помощью Plink:
plink -ssh username@hostname -pw password -m commands.txt
Поделиться
Alok Tiwari
25 декабря 2019 в 05:52
0
Вы пробовали заключать команду и аргумент в кавычки:
т. е.-м » C:\myscript.sh 5″
Поделиться
Marcel Kuiper
13 декабря 2014 в 19:22
- Скрипт через Plink в .bat ведет себя по-другому
У меня есть файл .bat на моей машине Windows. Этот файл .bat использует plink.exe для подключения к машине Ubuntu и выполнения сценария .sh . Тем не менее, я получаю различное поведение в сценарии в зависимости от того, как используется Plink: войдите в систему Ubuntu напрямую (лично) — скрипт. ..
- Запустите сценарий Bash в командной строке Windows XP
Как создать файл и запустить скрипт Bash в командной строке Windows XP? Я знаю только команды в Linux. 🙂
Похожие вопросы:
sh: …: не является идентификатором при попытке вызвать скрипты shell с помощью plink
Ниже приведен мой сценарий shell, который я пытаюсь выполнить с помощью PLINK на MachineB с MachineA (машина Windows). #!/bin/bash export HIVE_OPTS=$HIVE_OPTS -hiveconf…
Как я могу запустить скрипт shell из командной строки с помощью cygwin на Windows?
Я пытаюсь запустить скрипт shell, который принимает список входных аргументов из командной строки на Windows. Большинство (все?) вопросы, связанные с запуском скриптов shell на Windows, просто…
скрипт speed python в командной строке vs запущен в IDLE shell
Я несколько раз замечал, что простой скрипт python (с некоторыми простыми алгебраическими вычислениями в цикле) работает значительно быстрее (до 6 раз) при запуске в командной строке shell по. ..
Как добавить новую строку в текстовый файл в выводе из удаленного скрипта shell с помощью plink
Из windows я выполняю удаленный скрипт shell с помощью putty plink cmd>plink.exe -ssh username@hostipd -pw gbG8qs4 /user/alice/listoffiles.sh > C:\log1.txt Shell скрипт на удаленном сервере #!…
Python — запуск функции с параметрами в командной строке
Можно ли запустить скрипт python с такими параметрами в командной строке: ./hello(var=True) или это обязательно делать вот так: python -c from hello import *;hello(var=True) Первый путь короче и…
Скрипт через Plink в .bat ведет себя по-другому
У меня есть файл .bat на моей машине Windows. Этот файл .bat использует plink.exe для подключения к машине Ubuntu и выполнения сценария .sh . Тем не менее, я получаю различное поведение в сценарии в…
Запустите сценарий Bash в командной строке Windows XP
Как создать файл и запустить скрипт Bash в командной строке Windows XP? Я знаю только команды в Linux. 🙂
Передача аргументов командной строки в plink с параметром-m
Можно ли передать аргументы командной строки в plink , используемый с параметром-m для выполнения команд из файла следующим образом: plink -pw password user@<ip> -m script.sh arg1…
Закрытие окна Plink с Python
Я хочу связаться с регистратором данных через Telnet. Поэтому я написал следующий python-скрипт: import subprocess command =’plink.exe -telnet -P 23 12.17.46.06′ p = subprocess.Popen(command,…
Запустите файл узла из команды ssh через скрипт shell
Здесь я пытаюсь запустить файл узла на сервере AWS с помощью команды ssh через скрипт shell, где внутри файла shell есть команда для запуска файла узла (узел test.js ) Выполнив приведенную ниже…
Как писать и как запускать скрипты PowerShell
Программа PowerShell — это альтернативная командная строка с обширной функциональностью. Многие владельцы компьютеров, которые неплохо ориентируются в системных процессах, интересуются возможностями её использования на Windows 10 и предыдущих версиях этого обеспечения, чтобы менять конкретные процессы и настройки ПК под себя.
В использовании программы PowerShell нет ничего сложного. Просто следуйте всем инструкциям из этой статьи и у вас все получится
Если вы не являетесь знатоком в подобной тематике, только начинаете изучение командных строк и действий, доступных к выполнению в них, вам будет полезно узнать ответы на главные вопросы по пользованию таким приложением. Например, как запустить Windows PowerShell ISE Windows 10 и писать, работать со скриптами.
Как открыть PowerShell?
Это можно сделать несколькими следующими способами:
- Через Пуск — вы найдёте приложение в общем списке компонентов под буквой W.
- При помощи поиска в Панели задач — откройте её, и введите слово PowerShell для поиска.
- Используя меню «Выполнить» — запустите его через комбинацию Win+R и напишите название утилиты, после чего она будет найдена в системе.
- В коммандере задайте действие PowerShell — но, вы должны знать, что будете работать с приложением через уже запущенную строку, а не в отдельном окне.
- В параметрах Windows выберите «Свойства панели задач» и меню «Пуск». Во вкладке «Навигация» поставьте флажок на строке «Заменить командную строку оболочкой PowerShell…». Теперь вы сможете включать утилиту комбинацией Win+X.
Как писать и запускать скрипты?
Как создать скрипт PowerShell и запустить его? Это можно попросту сделать в блокноте — используя его, укажите в новом документе необходимые вам команды. После сохраните его, но поменяйте формат на .ps1 — именно такое расширение имеют файлы этой системной утилиты.
Писать скрипты в самом приложении можно так:
- Запустите его.
- Нажмите на пункт «Создать».
- Или кликните на «Файл», и в появившемся списке выберите «Создать».
- Напишите все команды, которые нужно выполнить, сохраните файл.
Скрипты ещё можно писать и редактировать в FAR Manager, но их нельзя использовать непосредственно в таком приложении, ведь оно отображает файлы этого типа через стандартную строку cmd. Однако прочие действия выполняются таким же образом, как и в «родной» утилите.
Запустить скрипт вы сможете таким образом:
- Зайдите в PowerShell от имени администратора.
- При помощи команд cd укажите месторасположение требуемого файла. Например, e: cd\ cd work .\ имя_файла. Ps1, или e: \work\ имя_файла.ps1
- В этом случае e: — имя жёсткого диска, где находится файл.
- Жмите Enter.
Программа обязательно покажет вам сообщение с текстом «Не удаётся загрузить файл ___ .Ps1, так как выполнение скриптов запрещено для этой системы…», когда вы будете первый раз запускать команду. Дело в том, что Windows оснащён защитой от вмешательства благодаря разработчикам, поэтому никто из пользователей по умолчанию не имеет доступа на выполнение таких действий. Но, это ограничение можно очень просто обойти.
Как? В тексте, возникающем вместе с ошибкой, будет рекомендация ввести команду get-help about_signing, чтобы получить больше информации. Вы можете выполнить эти указания, или использовать комбинацию Set-ExecutionPolicy remotesigned — после её ввода потребуется подтверждение, и ограничение будет снято.
Другие вопросы по пользованию
У многих возникает вопрос, как узнать версию PowerShell? Для этого выполните следующее:
- Откройте приложение.
- Введите $PSVersionTable.
- Если это ни к чему не привело, значит, у вас версия 1.0 — для неё есть команда $host.version.
- В ином случае появится подробная информация о том, какая версия приложения установлена на ПК.
Ещё один вопрос, на который стоит дать ответ — как удалить PowerShell? Для этого потребуются такие действия:
- Зайдите через Панель управления в меню установки и удаления программ.
- Найдите ветку Microsoft Windows
- Удалите обновление для компонента WindowsPowerShell (TM), следуйте инструкциям системы.
Теперь вы знаете всё о том, как писать и запускать скрипты PowerShell, сможете пользоваться такой командной строкой для многих операций в системе. Дополнительно вы всегда имеете возможность узнать версию этого продукта и даже частично удалить его — из-за того, что он установлен вместе с системными компонентами, полностью сделать это всё равно не получится. Посоветуем только быть аккуратным при выполнении всех подобных действий, чтобы не навредить компьютеру в целом.
Запуск автономных скриптов—ArcGIS Pro | Документация
В ArcGIS Pro входит Python на основе conda в конфигурации по умолчанию, только для чтения. Этот Python используется в ArcGIS Pro и является тем самым Python, который вы используете для запуска автономных скриптов.
Эта среда conda по умолчанию, arcgispro-py3, использует все библиотеки Python, применяемые ArcGIS Pro, а также несколько других, например scipy и pandas. Существуют несколько ярлыков для быстрого доступа к этой среде, включая ярлык Командная строка Python, который открывает командную строку, инициализируемую средой arcgispro-py3.
Для получения подробной информации о Python в приложении ArcGIS Pro см. Python Package Manager.
Вопросы и ответы
Во всех вопросах данного раздела подразумевается, что ArcGIS Pro установлен в c:\Program Files\ArcGIS. Для установки для конкретного пользователя или установки в другое местоположение обновите путь.
Как мне запустить автономный скрипт?
В других продуктах ArcGIS скрипт Python запускается из командной строки:
c:\python27\ArcGIS10.7\python.exe my_script.py
В ArcGIS Pro вы можете запустить тот же скрипт, используя следующий обновленный путь:
c:\Progra~1\ArcGIS\Pro\bin\Python\scripts\propy.bat my_script.py
Здесь propy.bat используется в качестве замены при вызове python.exe.
Нужно ли мне активировать среду conda для запуска автономного скрипта?
Нет. Вы можете воспользоваться файлом python.exe в папке c:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3 для запуска своих скриптов. Вы также можете вызвать c:\Progra~1\ArcGIS\Pro\bin\Python\scripts\propy. bat, как было упомянуто ранее.
Зачем мне использовать propy.bat?
При работе с проектом ArcGIS Pro вы можете создавать и использовать новую среду conda с определенными наборами и версиями библиотек Python. Например, при запуске автономных скриптов, если вы запускаете c:\Progra~1\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\python.exe (среда conda по умолчанию для ArcGIS Pro), у вас не обязательно будет тот же набор пакетов, который вы используете в приложении ArcGIS Pro. Вот почему вы используете propy.bat: он определяет активную среду conda приложения и активирует ее в вашем автономном скрипте.
Какая разница между propy.bat и proenv.bat?
Эти различия перечислены ниже:
- propy.bat – это замена для python.exe. Он активирует среду conda в ArcGIS Pro arcgispro-py3 и запускает Python. Вы можете вызвать propy.bat с помощью или без помощи файла Python в качестве аргумента.
- Имея скрипт в качестве аргумента, propy. bat выполняет следующее:
- Активирует среду conda для ArcGIS Pro
- Запускает Python
- Запускает указанный скрипт
- Выходит из Python и среды
- Если вы можете вызвать propy.bat без аргумента, среда conda будет активирована, а Python будет запущен в режиме интерактивного окна (REPL).
- Имея скрипт в качестве аргумента, propy. bat выполняет следующее:
- proenv.bat – активирует среду ArcGIS Pro и открывает окно командной строки Windows. Здесь вы можете вызвать arcgispro-py3\python.exe, набрав Python для запуска интерактивного сеанса, или набрав python после имени скрипта, который вы хотите запустить.
Требуются ли права администратора для установки пакетов conda?
Нет. В ArcGIS Pro 2.2 среда arcgispro-py3 по умолчанию не может изменяться с помощью Менеджера пакетов ArcGIS Pro даже при запуске ArcGIS Pro с правами администратора. Чтобы установить пакеты conda, вы можете создать среду с помощью Менеджера пакетов ArcGIS Pro или утилит командной строки conda.
Среду arcgispro-py3 по умолчанию можно изменить с помощью утилит командной строки conda, однако обычно это не рекомендуется. Для изменения среды arcgispro-py3 на каждой машине установки ArcGIS Pro требуются права администратора.
Когда я запускаю окно командной строки Python, почему я получаю ошибку Доступ запрещен?
Вы не можете использовать команды conda для изменения сред или пакетов conda. Однако это не влияет на ваше использование Python (включая proenv.bat и propy.bat). Обратитесь к предыдущим вопросам, относящимся к административным правам доступа.
Связанные разделы
Отзыв по этому разделу?
Как настроить запуск R-скрипта по расписанию?
С помощью скриптов 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».
2. Создайте bat-файл
Bat-файл, по сути, похож на файл с расширением exe, но его код более простой и состоит из некоторых командных строк.
Создать bat-файл довольно просто. Можно записать команду запуска в обычный текстовый файл с расширением TXT, сохранить его и поменять расширение на «.bat». Я опишу другой способ — создание bat-файла с помощью бесплатного блокнота Notepad++.
2.1. Откройте Notepad++.
2.2. Введите следующую команду:
@echo offR 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)».
3. Настройте запуск R-скрипта в фоновом режиме
Если вы не хотите, чтобы при автозапуске R-скрипта на экране появлялось окно командной строки, то скомпилируйте ваш bat-файла в exe — в таком случае скрипт будет работать в фоновом режиме и не будет вам мешать.
3.1. Скачайте бесплатную утилиту «Bat To Exe Converter» по ссылке.
3.2. Укажите bat-файл, который необходимо скомпилировать, а также путь и название будущего exe-файла.
3.3. В области «Видимость приложения» установите переключатель в положение «Невидимое приложение».
3.4. При желании установите иконку для вашего файла.
Чтобы установить иконку, перейдите на вкладку «Информация о версии» и с помощью кнопки «…» выберите нужную иконку в поле «Файл значка».
В качестве иконки можете использовать любое изображение в формате ICO или же нарисовать самостоятельно в бесплатном онлайн-редакторе.
Нажмите кнопку «Компилировать».
{«0»:{«lid»:»1573230077755″,»ls»:»10″,»loff»:»»,»li_type»:»em»,»li_name»:»email»,»li_ph»:»Email»,»li_req»:»y»,»li_nm»:»email»},»1″:{«lid»:»1596820612019″,»ls»:»20″,»loff»:»»,»li_type»:»hd»,»li_name»:»country_code»,»li_nm»:»country_code»}}
Истории бизнеса и полезные фишки
4.
Настройте планировщик задач Windows
Заключительный этап настройки — добавить задачу в планировщик задач Windows.
Планировщик задач Windows — встроенная утилита (аналог линуксового CRON), с помощью которой можно запланировать в определенное время с заданными условиями:
- запуск любой программы;
- отправку электронной почты;
- вывод на экран определенного сообщения.
4.1. Чтобы открыть планировщик задач, скопируйте в адресную строку открытой папки путь «%windir%\system32\taskschd.msc /s».
4.2. В правой части планировщика выберите пункт «Создать задачу…».
4.3. На вкладке «Общие» в диалоговом окне «Создание задачи» введите название и при необходимости краткое описание.
4.4. На вкладке «Триггеры» настройте расписание запуска скрипта: нажмите «Создать» и установите, к примеру, повтор запуска скрипта каждый понедельник в 12:45.
4.6. Далее перейдите на вкладку «Действие» и нажмите «Создать». В выпадающем списке «Действие» кликните на пункт «Запуск программы» и в области «Программа или сценарий» выберите bat-файл, созданный ранее.
На этом процесс настройки запуска R скриптов по расписанию закончен. Если вы все сделали правильно, в списке появится новая задача.
Вывод
С этим руководством настройка автозапуска займет не более десяти минут, и поможет сэкономить время в будущем.
Алгоритм действий:
- В переменной окружения PATH пропишите путь к консоли R.
- Создайте скрипт R, который будет выполнять нужные действия (например, сохранять результат в файл формата CSV или записывать в базу данных).
- Создайте bat-файл, в котором будет прописан путь к скрипту R.
- Скомпилируйте ваш bat-файла в exe, чтобы он запускался в фоновом режиме и не отвлекал от работы.
- В планировщике задач Windows добавьте повторяющееся задание на запуск bat-файла и установите определенный интервал времени.
Обрабатывать огромные массивы данных, агрегировать и передавать их в любые базы — просто и быстро, если вы правильно организовали свою работу.
Пишем инструменты командной строки на Python с помощью Click
Python — невероятно гибкий язык программирования, который хорошо интегрируется с существующими программами. Немало Python-кода написано в виде скриптов и интерфейсов командной строки (CLI).
Инструменты и интерфейсы командной строки — эффективная вещь, так как они позволяют автоматизировать практически всё что угодно. Как следствие, эти интерфейсы с течением времени могут стать довольно сложными.
Обычно всё начинается с простого скрипта на Python, который что-то делает. Например, получает доступ к веб-API и выводит результат в консоль:
# print_user_agent.py
import requests
json = requests.get('http://httpbin.org/user-agent').json()
print(json['user-agent'])
Вы можете запустить этот скрипт с помощью команды python3 print_user_agent.py
, и он выведет имя user-agent, использованного для вызова API.
Как и было сказано, довольно простой скрипт.
Но что делать, когда подобная программа растёт и становится всё более сложной?
Решением этого вопроса мы сегодня и займёмся. Вы узнаете об основах написания интерфейсов командной строки на Python и о том, как click позволяет упростить этот процесс.
Используя эти знания, мы шаг за шагом перейдём от простого скрипта к интерфейсу командной строки с аргументами, опциями и полезными инструкциями по использованию. Всё это мы сделаем с помощью библиотеки click.
К концу этой статьи вы будете знать:
- Почему click — лучшая альтернатива argparse и optparse;
- Как с его помощью создать простой CLI;
- Как добавить обязательные аргументы командной строки в ваши скрипты;
- Как парсить флаги и опции командной строки;
- Как сделать ваши консольные приложения более удобными, добавив справочный текст.
Вы увидите, как сделать всё это с минимальным количеством шаблонного кода.
Примечание переводчика Код в данной статье написан на Python 3.6, работоспособность на более ранних версиях не гарантируется.
Итак, начнём!
Зачем вам писать скрипты и инструменты для командной строки на Python?
Код выше – всего лишь пример, не очень полезный в реальной жизни. На самом деле скрипты бывают куда более сложные. Возможно, вы имели опыт с ними и знаете, что они могут быть важной частью нашей повседневной работы: некоторые скрипты остаются на протяжении всего времени жизни проекта, для которого они были написаны. Некоторые начинают приносить пользу другим командам или проектам. У них даже может расширяться функционал.
В этих случаях важно сделать скрипты более гибкими и настраиваемыми с помощью параметров командной строки. Они позволяют указать имя сервера, учётные данные или любую другую информацию скрипту.
Здесь приходят на выручку такие модули, как optparse и argparse, которые делают нашу жизнь на порядок проще. Но прежде чем мы с ними познакомимся, давайте разберёмся с терминологией.
Основы интерфейса командной строки
Интерфейс командной строки (CLI) начинается с имени исполняемого файла. Вы вводите имя в консоль и получаете доступ к главной точке входа скрипта, такого как pip.
В зависимости от сложности CLI обычно есть определённые параметры, которые вы можете передавать скрипту:
- Аргумент, который является обязательным параметром. Если его не передать, то CLI вернёт ошибку. Например, в следующей команде click является аргументом:
pip install click
. - Опция – необязательный параметр, который объединяет имя и значение, например
--cache-dir ./my-cache
. Вы говорите CLI, что значение./my-cache
должно использоваться как директория для кэша. - Флаг, который включает или выключает определённый сценарий. Вероятно, самым частым является
--help
. Вы только указываете имя, а CLI самостоятельно интерпретирует значение.
С более сложными CLI, такими как pip или Heroku CLI, вы получаете доступ к набору функций, которые собраны под главной точкой входа. Они обычно называются командами или подкомандами.
Возможно, вы уже использовали CLI, когда устанавливали Python-библиотеку с помощью команды pip install <имя пакета>
. Команда install
говорит CLI, что вы хотите использовать функцию установки пакета, и даёт вам доступ к параметрам, характерным для этой функции.
Пакеты для работы с командной строкой, доступные в стандартной библиотеке Python 3.x
Добавление команд и параметров в ваши скрипты может сделать их значительно лучше, но парсить командную строку не так просто, как может показаться. Однако вместо того, чтобы пытаться самостоятельно решить эту проблему, лучше воспользоваться одним из многих пакетов, которые сделали это за вас.
Два наиболее известных пакета для этого — optparse и argparse. Они являются частью стандартной библиотеки Python и добавлены туда по принципу «всё включено».
По большей части они делают одно и то же и работают схожим образом. Главное отличие заключается в том, что optparse не используется начиная с Python 3.2, и argparse считается стандартом для создания CLI в Python.
Вы можете узнать о них больше в документации Python, но, чтобы иметь представление, как выглядит скрипт с argparse, посмотрите на пример ниже:
import argparse
parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('integers', metavar='N', type=int, nargs='+',
help='an integer for the accumulator')
parser.add_argument('--sum', dest='accumulate', action='store_const',
const=sum, default=max,
help='sum the integers (default: find the max)')
args = parser.parse_args()
print(args.accumulate(args.integers))
click против argparse: лучшая альтернатива?
Вероятно, вы смотрите на этот код и думаете: «Что это всё значит?» И это является одной из проблем argparse: код с ним неинтуитивен и сложночитаем.
Поэтому вам может понравиться click.
Click решает ту же проблему, что и optparse и argparse, но немного иначе. Он использует декораторы, поэтому ваши команды должны быть функциями, которые можно обернуть этими декораторами.
С click легко создавать многофункциональный CLI с небольшим количеством кода. И этот код будет легко читаться, даже когда ваш CLI вырастет и станет более сложным.
Пишем простой CLI на Python с помощью click
Вдоволь поговорив о CLI и библиотеках, давайте взглянем на пример, чтобы понять, как написать простой CLI с click. Как и в первом примере, мы создаём простой CLI, который выводит результат в консоль. Это несложно:
# cli.py
import click
@click.command()
def main():
print("I'm a beautiful CLI ✨")
if __name__ == "__main__":
main()
Не пугайтесь последних двух строк: это то, как Python запускает функцию main
при исполнении файла как скрипта.
Как вы видите, всё, что нам нужно сделать – создать функцию и добавить к ней декоратор @click.command()
. Он превращает функцию в команду, которая является главной точкой входа нашего скрипта. Теперь вы можете запустить скрипт через командную строку и увидеть что-то вроде этого:
$ python3 cli.py
I'm a beautiful CLI ✨
Что в click здорово, так это то, что мы получаем некоторые дополнительные возможности просто так. Мы не реализовывали справочную функцию, однако вы можете добавить флаг --help
и увидеть базовое сообщение:
$ python3 cli.py --help
Usage: cli.py [OPTIONS]
Options:
--help Show this message and exit.
Более реалистичный пример CLI на Python с использованием click
Теперь, когда вы знаете, как click упрощает написание CLI, давайте взглянем на более реалистичный пример. Мы напишем программу, которая позволяет нам взаимодействовать с веб-API.
API, который мы дальше будем использовать, — OpenWeatherMap API. Он предоставляет информацию о текущей погоде, а также прогноз на пять дней для определённого местоположения. Мы начнём с тестового API, который возвращает текущую погоду для места.
Прежде чем мы начнём писать код, давайте познакомимся с API. Для этого можно использовать сервис HTTPie, включая онлайн-терминал.
Давайте посмотрим, что случится, когда мы обратимся к API с Лондоном в качестве местоположения:
$ http --body GET http://samples.openweathermap.org/data/2.5/weather \
q==London \
appid==b1b15e88fa797225412429c1c50c122a1
{
"base": "stations",
"clouds": {
"all": 90
},
"cod": 200,
"coord": {
"lat": 51.51,
"lon": -0.13
},
"dt": 1485789600,
"id": 2643743,
"main": {
"humidity": 81,
"pressure": 1012,
"temp": 280.32,
"temp_max": 281.15,
"temp_min": 279.15
},
"name": "London",
"sys": {
"country": "GB",
"id": 5091,
"message": 0.0103,
"sunrise": 1485762037,
"sunset": 1485794875,
"type": 1
},
"visibility": 10000,
"weather": [
{
"description": "light intensity drizzle",
"icon": "09d",
"id": 300,
"main": "Drizzle"
}
],
"wind": {
"deg": 80,
"speed": 4.1
}
}
Если вы смущены наличием API-ключа в примере сверху, не переживайте, это тестовый API-ключ, предоставляемый сервисом.
Более важное наблюдение заключается в том, что мы отправляем два параметра (обозначаемые ==
при использовании HTTPie), чтобы узнать текущую погоду:
q
— место, в котором мы хотим узнать погоду;appid
— наш API-ключ.
Это позволяет нам создать простую реализацию на Python с использованием библиотеки requests (опустим обработку ошибок и неудачных запросов для простоты):
import requests
SAMPLE_API_KEY = 'b1b15e88fa797225412429c1c50c122a1'
def current_weather(location, api_key=SAMPLE_API_KEY):
url = 'http://samples.openweathermap.org/data/2.5/weather'
query_params = {
'q': location,
'appid': api_key,
}
response = requests.get(url, params=query_params)
return response.json()['weather'][0]['description']
Эта функция делает простой запрос к API, используя два параметра. В качестве обязательного аргумента она принимает location
(местоположение), которое должно быть строкой. Также мы можем указать API-ключ, передавая параметр api_key
при вызове функции. Это необязательно, так как по умолчанию используется тестовый ключ.
И вот мы видим текущую погоду в Python REPL:
>>> current_weather('London')
'light intensity drizzle' # впрочем, ничего нового ?
Парсим обязательные параметры с click
Простая функция current_weather
позволяет нам создать CLI с местоположением, указанным пользователем. Это должно работать примерно так:
$ python3 cli.py London
The weather in London right now: light intensity drizzle.
Как вы, возможно, догадались, местоположение — это аргумент, поскольку оно является обязательным параметром для нашего погодного CLI.
Как нам сделать это при помощи click? Всё довольно просто, мы используем декоратор под названием argument
. Кто бы мог подумать?
Давайте возьмём наш предыдущий пример и слегка изменим его, добавив аргумент location
:
@click.command()
@click.argument('location')
def main(location):
weather = current_weather(location)
print(f"The weather in {location} right now: {weather}.")
Если этот print
выглядит для вас странно, не волнуйтесь — это новый способ форматирования строк в Python 3.6+, который называется f-форматированием.
Как вы видите, всё, что нам нужно сделать, это добавить дополнительный декоратор к нашей функции main
и дать ему имя. Click использует имя в качестве имени аргумента, переданного обёрнутой функции.
Примечание переводчика Имя аргумента, переданное click, должно совпадать с именем аргумента в объявлении функции.
В нашем случае значение аргумента командной строки location
будет передано функции main
в качестве аргумента location
. Логично, не так ли?
Также вы можете использовать тире в именах, например api-key
, которые click переведёт в snake case для имени аргумента в функции, например main(api_key)
.
Реализация main
просто использует нашу функцию current_weather
для получения погоды в указанном месте. И затем мы с помощью print
выводим полученную информацию.
Готово!
Парсим опциональные параметры с click
Как вы, возможно, догадались, тестовый API ограничивает нас в возможностях. Поэтому, прежде чем мы продолжим, зарегистрируйтесь и получите настоящий API-ключ.
Первое, что нам нужно изменить, — URL, откуда берутся данные о текущей погоде. Это можно сделать, изменив значение переменной url
в функции current_weather
на URL, указанный в документации OpenWeatherMap:
def current_weather(location, api_key=SAMPLE_API_KEY):
url = 'https://api.openweathermap.org/data/2.5/weather'
# дальше всё остаётся как было
...
Это изменение приведёт к неработоспособности нашего CLI, так как указанный API-ключ не работает с реальным API. Поэтому давайте добавим новый параметр в наш CLI, который позволит нам указывать API-ключ. Но сначала мы должны решить, будет ли этот параметр аргументом или опцией. Мы сделаем его опцией, так как добавление параметра вроде --api-key
делает его более явным и говорящим за себя.
Мы хотим, чтобы наша программа запускалась таким образом:
$ python3 cli.py --api-key London
The weather in London right now: light intensity drizzle.
Проще простого. Посмотрим, как добавить опцию к нашей существующей команде:
@click.command()
@click.argument('location')
@click.option('--api-key', '-a')
def main(location, api_key):
weather = current_weather(location, api_key)
print(f"The weather in {location} right now: {weather}.")
И снова мы добавляем декоратор к нашей функции main
. В этот раз мы используем декоратор с говорящим именем @click.option
и указываем имя для нашей опции, начинающееся с двух тире. Как вы видите, мы также можем указать сокращение для нашей опции с одним тире, чтобы сэкономить пользователю немного времени.
Как было сказано ранее, click создаёт аргумент для передачи в функцию main
из длинного варианта имени. В случае с опцией он убирает впередистоящие тире и переводит её в snake case. Таким образом, --api-key
становится api_key
.
Чтобы всё заработало, осталось лишь передать API-ключ в функцию current_weather
.
Мы добавили возможность указывать свой собственный ключ и проверять погоду в любом месте:
$ python3 cli.py --api-key Canmore
The weather in Canmore right now: broken clouds.
Добавляем автоматически генерируемые инструкции по использованию
Можете себя похвалить, вы создали отличный небольшой CLI почти без шаблонного кода. Однако прежде чем вы решите отдохнуть, давайте убедимся, что новый пользователь будет знать, как пользоваться нашим CLI, путём добавления документации. Не бойтесь, всё будет просто.
Сначала давайте проверим, что выведет флаг --help
после всех сделанных изменений. Довольно неплохо, учитывая что мы не приложили к этому никаких усилий:
$ python3 cli.py --help
Usage: cli.py [OPTIONS] LOCATION
Options:
-a, --api-key TEXT
--help Show this message and exit.
Первое, что нужно исправить, это добавить описание для нашей опции с API-ключом. Всё, что нам для этого нужно сделать, – добавить справочный текст в декоратор @click.option
:
@click.command()
@click.argument('location')
@click.option(
'--api-key', '-a',
help='your API key for the OpenWeatherMap API',
)
def main(location, api_key):
...
Второе (и последнее), что мы сделаем, — добавим документацию для всей click-команды. Самый простой и самый питонический способ сделать это — добавить строку документации в нашу функцию main
. Да, нам в любом случае нужно сделать это, поэтому это не лишняя работа:
...
def main(location, api_key):
"""
A little weather tool that shows you the current weather in a LOCATION of
your choice. Provide the city name and optionally a two-digit country code.
Here are two examples:
1. London,UK
2. Canmore
You need a valid API key from OpenWeatherMap for the tool to work. You can
sign up for a free account at https://openweathermap.org/appid.
"""
...
Сложив всё вместе, мы получаем хороший вывод для нашего инструмента:
$ python3 cli.py --help
Usage: cli.py [OPTIONS] LOCATION
A little weather tool that shows you the current weather in a LOCATION of
your choice. Provide the city name and optionally a two-digit country
code. Here are two examples:
1. London,UK
2. Canmore
You need a valid API key from OpenWeatherMap for the tool to work. You can
sign up for a free account at https://openweathermap.org/appid.
Options:
-a, --api-key TEXT your API key for the OpenWeatherMap API
--help Show this message and exit.
Подводим итоги
Итак, в этом уроке мы рассмотрели много всего. Можете гордиться собой, вы написали свой собственный CLI, и всё это с минимальным количеством шаблонного кода! Исходный код ниже доказывает это. Не стесняйтесь использовать его для собственных экспериментов:
import click
import requests
SAMPLE_API_KEY = 'b1b15e88fa797225412429c1c50c122a1'
def current_weather(location, api_key=SAMPLE_API_KEY):
url = 'https://api.openweathermap.org/data/2.5/weather'
query_params = {
'q': location,
'appid': api_key,
}
response = requests.get(url, params=query_params)
return response.json()['weather'][0]['description']
@click.command()
@click.argument('location')
@click.option(
'--api-key', '-a',
help='your API key for the OpenWeatherMap API',
)
def main(location, api_key):
"""
A little weather tool that shows you the current weather in a LOCATION of
your choice. Provide the city name and optionally a two-digit country code.
Here are two examples:
1. London,UK
2. Canmore
You need a valid API key from OpenWeatherMap for the tool to work. You can
sign up for a free account at https://openweathermap.org/appid.
"""
weather = current_weather(location, api_key)
print(f"The weather in {location} right now: {weather}.")
if __name__ == "__main__":
main()
Перевод статьи «Writing Python Command-Line Tools With Click»
Запуск .sh файлов в Windows 10
Shell Scripts или .SH файлы похожи на командные файлы Windows, которые могут выполняться в Linux или Unix. В Windows 10 можно запустить файл .sh или Shell Script, используя подсистему Windows для Linux. В этом посте мы покажем вам, как запустить файл сценария оболочки в Windows 10.
Bash — это оболочка и командный язык Unix, который может запускать файлы Shell Script. Вам не нужно устанавливать Ubuntu или любые другие дистрибутивы Linux, если ваши сценарии не нуждаются в поддержке реального ядра Linux. Мы поделимся обоими методами.
- Выполнить файл сценария оболочки, используя WSL
- Выполнить сценарий оболочки с помощью Ubuntu в Windows 10
1] Выполнить файл сценария оболочки, используя WSL
Установите WSL или Windows Subsystem для Linux
Перейдите в Настройки → Обновление и безопасность → Для разработчиков. Проверьте переключатель режима разработчика. Ищите «Функции Windows», выберите «Включить или отключить функции Windows».
Прокрутите, чтобы найти WSL, установите флажок и установите его. После этого необходимо перезагрузить компьютер, чтобы завершить установку запрошенных изменений. Нажмите Перезагрузить сейчас. BASH будет доступен в командной строке и PowerShell.
Выполнить файлы сценариев оболочки
- Откройте командную строку и перейдите в папку, где доступен файл сценария.
- Введите
Bash script-filename.sh
и нажмите клавишу ввода. - Он выполнит скрипт, и в зависимости от файла вы должны увидеть вывод.
На платформе Linux вы обычно используете SH, но здесь вам нужно использовать BASH. Тем не менее, BASH в Windows имеет свои ограничения, поэтому, если вы хотите выполнить в среде Linux, вам нужно установить Ubuntu или что-то подобное.
2] Выполнить сценарий оболочки, используя Ubuntu в Windows 10
Убедитесь, что у вас установлен Ubuntu или любой другой дистрибутив Linux. Ubuntu смонтирует или сделает все ваши каталоги Windows доступными в /mnt. Таким образом, диск C доступен по адресу /mnt/C. Так что если рабочий стол будет доступен по адресу /mnt/c/users/<username>/desktop.
Теперь следуйте этим шагам
- В командной строке введите Bash, и он запустит приглашение distro.
- Перейдите в папку с помощью команды «cd» в папку, где доступны сценарии.
- Введите «sh script.sh» и нажмите ввод.
- Он выполнит сценарий, и если они зависят от каких-либо основных функций Linux.
Поскольку Linux теперь доступен в Windows, вам не нужно использовать какие-либо сторонние приложения, такие как Cygwin. WSL должно быть достаточно для большинства сценариев, чтобы помочь вам запустить сценарий оболочки в Windows 10.
Основы Bash-скриптов
Программирование на Bash можно рассматривать как последовательность команд, в оболочке, которые образуют определенный сценарий выполнения. В контексте сценариев Bash мы ставим задачи оболочке Bash, и прописываем в скриптах, что она должна делать.
Ниже мы разберем основы Bash-скриптинга и коснемся нескольких частных случаев программирования на нем.
Что такое оболочка Bash?
В сфере IT оболочка — это программное обеспечение, которое соединяет пользователя с компьютером. Оболочка позволяет пользователю узнать о системе или файлах в ней или управлять системой. Оболочка обычно является частью операционной системы. Существует два типа оболочек.
Командно-ориентированная оболочка, например OS X терминал.
Оболочка с графическим интерфейсом пользователя, например, искатель для OS X или всем знакомая Windows.
Терминал представляет собой командно-ориентированную оболочку, потому что здесь мы вводим команды напрямую, а не нажимаем кнопки мыши или вводим информацию в поля. Командно-ориентированные оболочки также имеют множество разновидностей — оболочка Bourne, Bash, оболочка Z и так далее. Как стандарт на компьютерах Mac, терминал открывает оболочку Bash.
Как работают Bash-скрипты?
Любой сценарий Bash представляет собой простой текстовый файл, который содержит ряд команд для циклов и запросов. Они представляют собой смесь команд, которые мы обычно вводим в командной строке ouselves (например, ls или cp) и команды, которые мы могли бы вводить в командной строке, но которые там не предусмотрены.
При вызове текстового файла как программы, команды обрабатываются одна за другой. Все, что мы делаем в оболочке, может быть записано в сценарии, и наоборот, сценарий также может быть скопирован в оболочку и таким образом выполнен.
Файл Bash может взаимодействовать с пользователем посредством запросов, например, для «принимайте переменные» или «принимайте решения» с помощью запроса «да» или «нет». Благодаря такому взаимодействию сценарии могут служить различным целям.
Все, что вы можете нормально запустить из командной строки, может быть помещено в скрипт, и оно будет делать то же самое. Принято считать, что файлы, являющиеся скриптами Bash, имеют расширение .sh (например, myscript.sh). Как вы знаете Linux — это система без расширений, поэтому для работы скрипта не обязательно иметь это расширение.
Выбор текстового редактора
Текстовые редакторы, предустановленные вашим собственным дистрибутивом Linux, в основном идеально подходят для создания сценариев Bash. Они предлагают подсветку синтаксиса, которая выделяет команды и переменные цветом и, таким образом, также указывает на орфографические ошибки.
Только те, кто хочет создать BASH-скрипт под Windows, должны дополнительно установить текстовый редактор, например «Notepad ++». Программы командной строки «Nano» и «Vim» также предлагают подсветку синтаксиса и практически всегда доступны в Linux.
Начало работы
Выберите имя скрипта и создайте файл
Прежде чем прописать имя файла, мы должны убедиться, что оно еще не используется. Мы делаем это с type.
Если имя программы еще не существует, type возвращает «bash: type: имя программы: не найдено». В противном случае указывается путь к существующему файлу.
Далее вы можете вводить стандартные команды. Например, создать отдельный каталог с помощью mkdir и измените его с помощью cd. Также мы используем touch, чтобы создать изначально пустой файл скрипта.
mkdir ~ / файлы сценариев
CD ~ / файлы сценариев
touch catalog.sh
Что означают stdin, stdout и stderr?
В Bash существует три различных типа ввода и вывода контента, называемые стандартными потоками данных. Краткая форма записи является обычной для стандарта. Это приводит к трем потокам данных stdin, stdout и stderr.
stdin — стандартный ввод
Данные могут быть считаны в программы с использованием стандартного ввода. Как правило, стандартный ввод подключен к клавиатуре. Программы получают пользовательский ввод через ручную запись команд.
stdout — стандартный вывод
Программы могут выводить данные через стандартный вывод. Обычно это делается с помощью монитора. Программы отправляют выводимые тексты пользователю через стандартный вывод.
stderr — стандартный вывод ошибок
Стандартный вывод ошибок — это второй выходной поток данных, который выводит сообщения об ошибках и состоянии. Обычно также на монитор. Стандартный вывод ошибок также может быть перенаправлен отдельно от стандартного вывода, чтобы сообщения об ошибках не смешивались с выходными данными.
В результате стандартными потоками данных можно управлять следующим образом:
-
перенаправить поток данных stdout в файл;
-
перенаправить поток данных stderr в файл;
-
перенаправить из stdout в поток stderr;
-
перенаправить из stderr в поток stdout;
-
перенаправить в файл с помощью stderr и stdout;
-
перенаправить с помощью stderr и stdout в поток данных stdout;
-
перенаправить с помощью stderr и stdout в поток данных stderr;
Два примера:
В следующем примере вывод программы — здесь ls — записывается в файл. В результате команда list записывает все файлы в текущем каталоге в файл myfile.txt.
$ ls > myfile.txt
В следующем примере поток данных из stderr программы — здесь grep — записывается в файл.
$ grep da * 2> grep-errors.txt
К сожалению, в небольшой статье нельзя рассмотреть все особенности скриптинга на Bash. Но теперь вы представляете ключевые особенности работы этой оболочки и принципы работы с данными в ней.
Заказывайте хостинг и выбирайте домен в компании «Хостинг Украина».
У нас качественный и надежный сервис, удобное система управления через админ-панель, интеллектуальные системы защиты и техническая поддержка, которая поможет решить все возникающие вопросы в любое время суток.
Любой тариф нашего хостинга подойдет для WordPress. Вы можете выбрать именно тот пакет, который максимально соответствует потребностям вашего проекта: SSD хостинг, VPS на SSD, Cloud (облачный) хостинг, облачный VPS. Выделенный сервер или dedicated server.
Мы разработали систему автоматического тестирование сайта, это даст Вам возможность проверить десятки показателей и настроек сайта и домена. Проверит правильность параметров конфигурационного файла WordPress, подключения к базе данных, настроек тем и модулей. Проверит правильность настройки параметра php_memory_limit.
Присоединяйтесь к «Хостинг Украина» и мы позаботимся о технической стороне вашего бизнеса.
Кликай и подписывайся!
Только зарегистрированные пользователи могут оставлять комментарии
Как создать и запустить командный файл в Windows 10
В Windows 10 командный файл — это специальный текстовый файл, который обычно имеет расширение .bat и включает одну или несколько команд, которые командная строка может понять и запустить последовательно для выполнения различных действий.
Обычно вы можете вводить команды вручную для выполнения определенной задачи или изменения системных настроек в Windows 10. Однако пакетный файл упрощает работу по повторному вводу команд, экономя ваше время и потенциально необратимые ошибки.
Вы также можете использовать другие инструменты, такие как PowerShell, для написания еще более сложных сценариев. Однако использование пакетных файлов с командной строкой — удобный вариант, когда вам нужно запускать команды для изменения настроек, автоматизации процедур и запуска приложений или запуска веб-сайтов.
VPN-предложения: пожизненная лицензия за 16 долларов, ежемесячные планы за 1 доллар и более
В этом руководстве по Windows 10 мы проведем вас через шаги по созданию и запуску вашего первого командного файла на вашем устройстве. Кроме того, мы опишем шаги по созданию расширенных сценариев и автоматизации сценариев с помощью Планировщика заданий.
Как создать командный файл в Windows 10
Процесс создания пакетного файла (сценарий или пакетный сценарий) прост. Вам понадобится только текстовый редактор и некоторые базовые знания для набора собственных команд командной строки. В приведенных ниже инструкциях мы опишем шаги по написанию базового и расширенного пакетного файла, а также шаги по написанию сценария для изменения системных настроек в Windows 10.
Создать базовый пакетный файл
Чтобы создать базовый пакетный файл в Windows 10, выполните следующие действия:
- Открыть Старт .
- Найдите Блокнот и щелкните верхний результат, чтобы открыть приложение.
Введите следующие строки в текстовый файл для создания командного файла:
@ECHO ВЫКЛ. ECHO Поздравляем! Ваш первый командный файл выполнен успешно. ПАУЗА
Источник: Windows Central
Приведенный выше сценарий выводит фразу «Поздравляем! Ваш первый командный файл успешно выполнен» на экране терминала.
Источник: Windows Central
- @ECHO OFF — Отключает подсказку дисплея, чтобы показать только сообщение на чистой строке.Обычно эта строка идет в начале файла. (Вы можете использовать эту команду без «@», но символ скрывает выполняемую команду, чтобы получить более чистый возврат.)
- ECHO — Печатает любой текст на экране.
- PAUSE — Оставляет окно открытым после выполнения команды. Если вы не используете эту команду, окно закроется автоматически, как только скрипт завершит работу. Вы можете использовать эту команду в конце сценария или после определенной команды при запуске нескольких задач, и вы хотите делать паузу между ними.
- Щелкните меню Файл .
- Выберите вариант Сохранить как .
Введите имя сценария, например first_basic_batch.bat .
Краткое примечание: Хотя в пакетных файлах обычно используются расширения файлов .bat , вы также можете найти сценарии с расширениями файлов .cmd или .btm .
После выполнения этих шагов вы можете дважды щелкнуть файл, чтобы запустить его, или вы можете использовать следующие шаги, чтобы узнать о различных способах выполнения командного файла в Windows 10.
Создать расширенный командный файл
Чтобы создать расширенный пакетный файл для выполнения нескольких команд, выполните следующие действия:
- Открыть Старт .
- Найдите Блокнот и щелкните верхний результат, чтобы открыть приложение.
Введите следующие строки в текстовый файл, чтобы создать более сложный пакетный файл:
@ECHO ВЫКЛ. :: Этот командный файл содержит подробную информацию о Windows 10, оборудовании и конфигурации сети. TITLE Информация о моей системе ЭХО Подождите... Проверка системной информации. :: Раздел 1. Информация о Windows 10. ЭХО ========================== ECHO WINDOWS ИНФОРМАЦИЯ ЭХО ============================ systeminfo | findstr / c: "Имя ОС" systeminfo | findstr / c: "Версия ОС" systeminfo | findstr / c: "Тип системы" :: Раздел 2: Информация об оборудовании. ЭХО ============================ ECHO HARDWARE INFO ЭХО ============================ systeminfo | findstr / c: "Общая физическая память" wmic cpu получить имя wmic diskdrive получить имя, модель, размер wmic путь win32_videocontroller получить имя :: Раздел 3: Сетевая информация.ЭХО ============================ ИНФОРМАЦИЯ О СЕТИ ECHO ЭХО ============================ ipconfig | findstr IPv4 ipconfig | findstr IPv6 НАЧАТЬ https://support.microsoft.com/en-us/windows/windows-10-system-requirements-6d4e9a79-66bf-7950-467c-795cf0386715 ПАУЗА
Источник: Windows Central
Приведенный выше сценарий запускает серию команд для запроса различной системной информации. Затем он группирует их по трем различным категориям, включая «ИНФОРМАЦИЯ О WINDOWS», «ИНФОРМАЦИЯ ОБ ОБОРУДОВАНИИ» и «ИНФОРМАЦИЯ О СЕТИ.Команда «start» также откроет веб-сайт поддержки Microsoft, на котором перечислены официальные системные требования Windows 10 в вашем веб-браузере по умолчанию, которые вы можете проверить по своей информации.
Источник: Windows Central
- @ECHO OFF — Отключает подсказку дисплея, чтобы показать только сообщение на чистой строке. Обычно эта строка идет в начале файла. (Вы можете использовать эту команду без «@», но символ скрывает выполняемую команду для более чистого возврата.)
- TITLE — Отображает настраиваемое имя в строке заголовка окна.
- :: — Позволяет писать комментарии и документацию. Эти данные игнорируются при запуске командного файла.
- ECHO — Печатает точный текст на экране.
- START — Позволяет запускать приложение или веб-сайт с помощью веб-браузера по умолчанию.
- PAUSE — Оставляет окно открытым после выполнения команды. Если вы не используете эту команду, окно закроется автоматически, как только скрипт завершит работу.Вы можете использовать эту команду в конце сценария или после определенной команды при запуске нескольких задач, и вы хотите делать паузу между ними.
- Щелкните меню Файл .
- Выберите вариант Сохранить как .
- Введите имя сценария, например first_advanced_batch.bat .
После выполнения этих шагов дважды щелкните файл .bat , чтобы запустить его, или вы можете использовать следующие шаги, чтобы узнать о различных способах запуска пакета.
Создать командный файл с действиями
Помимо выполнения и отображения содержимого в окне командной строки, вы также можете писать неинтерактивные пакетные сценарии для выполнения практически любой необходимой вам задачи.
Чтобы создать пакетный файл, запускающий определенную команду без взаимодействия с пользователем, выполните следующие действия:
- Открыть Старт .
- Найдите Блокнот и щелкните верхний результат, чтобы открыть приложение.
Скопируйте и вставьте в текстовый файл следующую команду:
net use z: \\ PATH-NETWORK-SHARE \ FOLDER-NAME / user: YOUR-USERNAME YOUR-PASSWORD
Источник: Windows Central
Краткое примечание: На снимке экрана вы заметите команду «пауза», но это не обязательно.В этом примере он был добавлен, чтобы сделать снимок экрана терминала. Если вы получаете доступ к файлам с другого компьютера, который использует определенное имя пользователя и пароль, не забудьте использовать параметр
/ user:
с необходимыми учетными данными.Приведенный выше сценарий включает простую команду для сопоставления сетевой папки как диска в проводнике с использованием буквы диска «Z».
Источник: Windows Central
- Щелкните меню Файл .
- Выберите вариант Сохранить как .
- Введите имя сценария, например mount-z-network-drive.bat .
После выполнения этих шагов командный файл отобразит сетевую папку с указанными настройками, не открывая окно командной строки. Хотя мы использовали только одну команду в этом конкретном файле, вы можете включить столько команд, сколько захотите, при условии, что вы пишете их по одной в каждой строке.
Как запустить командный файл в Windows 10
В Windows 10 вы можете запустить командный файл как минимум тремя способами.Вы можете запускать его по запросу с помощью проводника или командной строки. Вы можете создать задачу с помощью планировщика задач, чтобы запускать ее по расписанию. Или вы можете поместить сценарий в папку «Автозагрузка», чтобы запускать его каждый раз, когда вы входите в свою учетную запись Windows 10.
Запуск командного файла по запросу
Если вам нужно запустить сценарий по запросу, у вас есть два варианта, включая Командную строку или Проводник.
Командная строка
Чтобы запустить пакетный файл с помощью командной строки, выполните следующие действия.
- Открыть Старт .
- Найдите Командная строка , щелкните правой кнопкой мыши верхний результат и выберите параметр Запуск от имени администратора .
Введите путь и имя командного файла и нажмите Введите :
C: \ ПУТЬ \ К \ FOLDER \ BATCH-NAME.bat
Например, следующая команда запускает командный файл, расположенный в папке «scripts» внутри папки «Downloads»:
C: \ Users \ user \ Downloads \ scripts \ first_basic_batch.летучая мышь
Источник: Windows Central
После выполнения этих шагов консоль вернет результаты, и окно не закроется, даже если сценарий не включает команду «PAUSE».
Проводник
Чтобы запустить командный файл с помощью проводника, выполните следующие действия:
- Откройте Проводник .
- Перейдите в папку со сценарием.
- Дважды щелкните командный файл, чтобы запустить его.
(Необязательно) Если вы выполняете команду, требующую прав администратора, вам нужно будет запустить сценарий от имени администратора, щелкнув правой кнопкой мыши пакетный файл и выбрав параметр Запуск от имени администратора .
Источник: Windows Central
- Нажмите кнопку Да
После выполнения этих шагов пакет будет запускать каждую команду последовательно, отображая результаты в терминале.
Запускать командный файл по расписанию
Чтобы запланировать пакетный файл в Windows 10, вы можете использовать планировщик задач, выполнив следующие действия:
- Открыть Старт .
- Найдите Task Scheduler и щелкните верхний результат, чтобы открыть приложение.
- Щелкните правой кнопкой мыши ветку «Библиотека планировщика заданий» и выберите параметр Новая папка .
Введите имя папки, например MyScripts .
Краткое примечание: Не обязательно создавать папку, но рекомендуется организовывать задачи.
- Нажмите кнопку ОК .
- Разверните ветку «Библиотека планировщика заданий».
- Щелкните правой кнопкой мыши папку MyScripts .
Выберите опцию Create Basic Task .
Источник: Windows Central
В поле «Имя» введите описательное имя задачи, например SystemInfoBatch .
Источник: Windows Central
- (Необязательно) В поле «Описание» создайте описание задачи.
- Нажмите кнопку Далее .
Выберите вариант Ежемесячно .
Источник: Windows Central
Краткое примечание: В Windows 10 планировщик заданий позволяет выбирать из различных триггеров, включая определенную дату, во время запуска или при входе пользователя в систему. В этом случае мы выбираем вариант запускать задачу каждый месяц, но вам может потребоваться настроить дополнительные параметры в зависимости от ваших требований.
- Нажмите кнопку Далее .
- В настройках «Пуск» подтвердите день и время запуска задачи.
Используйте раскрывающееся меню «Ежемесячно», чтобы выбрать месяцы года, в которых вы хотите запускать задачу.
Источник: Windows Central
Используйте раскрывающееся меню «Дни» или «Вкл.», Чтобы подтвердить дни, в которые задача будет выполняться.
Источник: Windows Central
- Нажмите кнопку Далее .
Выберите опцию Start a program , чтобы запустить командный файл.
Источник: Windows Central
- В поле «Программа / сценарий» нажмите кнопку Обзор .
Выберите созданный вами командный файл.
Источник: Windows Central
- Щелкните кнопку Finish .
После выполнения этих шагов задача сохранит и запустит сценарий по расписанию.
В этих инструкциях описаны действия по созданию базовой задачи с помощью планировщика заданий. Если вы хотите создать более настраиваемую задачу, используйте эти инструкции.
Запускать командные файлы при запуске
Если вы хотите выполнять последовательность команд каждый раз, когда вы входите в свою учетную запись Windows 10, вместо использования планировщика заданий вы можете поместить сценарий в папку «автозагрузки», чтобы сохранить дополнительные шаги.
Чтобы запустить сценарий при запуске в Windows 10, выполните следующие простые шаги:
- Откройте Проводник .
- Перейдите в папку с командным файлом.
- Щелкните правой кнопкой мыши командный файл и выберите параметр Копировать .
- Используйте сочетание клавиш Windows + R , чтобы открыть команду Выполнить .
Введите следующую команду:
оболочка: запуск
Источник: Windows Central
- Нажмите кнопку ОК .
Щелкните параметр Вставить на вкладке «Главная» в папке Startup . (Или нажмите кнопку Вставить ярлык , чтобы создать ярлык для командного файла.)
Источник: Windows Central
- Выйдите из своей учетной записи.
- Войдите снова в учетную запись.
После того, как вы выполните эти шаги, каждый раз, когда вы входите в Windows 10, командный файл будет выполнять и запускать включенные команды.
Мы фокусируем это руководство на Windows 10, но возможность запускать пакетные файлы существует уже давно, а это значит, что вы можете обратиться к этим инструкциям, если вы все еще используете более старую версию, включая Windows 8.1 или Windows 7.
Дополнительные ресурсы по Windows 10
Дополнительные полезные статьи, статьи и ответы на распространенные вопросы о Windows 10 см. На следующих ресурсах:
более доступная мощность
AMD представляет новый графический процессор Radeon RX 6700 XT
AMD анонсировала Radeon RX 6700 XT сегодня на мероприятии, посвященном аппаратному обеспечению. Графический процессор построен на архитектуре AMD RDNA 2. Карта конкурирует с одними из лучших на рынке, включая NVIDIA RTX 3060 Ti и RTX 3070.
Как использовать команды пакетного файла Windows для автоматизации повторяющихся задач
До того, как Windows стала нашим любимым графическим интерфейсом, все делалось с помощью команд. Некоторые из наших читателей, возможно, помнят использование команд MS-DOS для выполнения самых мелких задач. В наши дни вы все еще можете использовать команды для автоматизации задач и повышения производительности.
Если у вас есть несколько повторяющихся задач, вы можете написать командный файл, чтобы автоматизировать процесс.Продолжайте читать, чтобы узнать о нескольких полезных пакетных файлах, которые можно использовать для автоматизации своей жизни!
Что такое командный файл?
Пакетный файл — это тип сценария, который содержит серию команд.Пакетный файл может содержать любое количество команд. Пока операционная система распознает команды сценария, командный файл будет выполнять команды от начала до конца.
Как создать командный файл
Вы пишете командные файлы в виде обычного текста.Вы можете использовать любой текстовый редактор, который вам нравится, но стандартное приложение «Блокнот» отлично справляется со своей задачей. Если вы создаете сложный пакетный файл, вам пригодятся дополнительные функции Notepad ++. Но пока вы можете придерживаться Блокнота, так как каждый приведенный ниже пример командного файла был протестирован с использованием этой программы.
После того, как вы закончите ввод команд командного файла, перейдите в Файл> Сохранить как , затем дайте командному файлу соответствующее имя.После сохранения вы можете изменить расширение файла с .txt на .bat , что изменит тип файла. Для этого щелкните файл правой кнопкой мыши и выберите Переименовать , затем измените расширение файла, как указано выше. Либо выделите файл и нажмите F2 , затем измените расширение файла,
Полезные командные файлы Windows для автоматизации
Вот несколько действительно полезных командных файлов, с которыми вы можете поиграть, и несколько кратких описаний того, что может делать каждый синтаксис команды и параметр.
1. Откройте несколько программ с помощью командного файла
Если у вас есть список программ, которые вы открываете каждый раз при запуске компьютера, вы можете использовать командный файл для автоматизации процесса.Вместо того, чтобы открывать каждую программу вручную, вы можете открывать их одновременно.
В приведенном ниже примере я открываю браузер Google Chrome, документ Word, над которым я работаю, и VMware Player.
Откройте новый текстовый файл и введите:
@echo off
cd "C: \ Program Files \ Google \ Chrome \ Application \"
запустить хром.exe
start - "C: \ Program Files \ Microsoft Office \ Office15 \ WINWORD.EXE"
"C: \ Work \ MUO \ Как выполнить пакетное переименование ..docx"
cd "C: \ Program Files (x86) \ VMware \ VMware Player "
запуск vmplayer.exe
Выход
Вы можете добавить в пакетный файл столько приложений и файлов, сколько захотите.Команды пакетного файла в этом файле:
- @echo отображает команду, которая в данный момент выполняется в командной оболочке.Мы выключили .
- cd меняет каталог.
- start делает очевидное и запускает программу.
2. Удалить файлы старше определенного времени с помощью командного файла
Вы можете использовать пакетный файл для сканирования, а затем удаления файлов старше определенного количества дней.Вы устанавливаете максимальный возраст для файлов в пакетном файле, что позволяет настроить процесс. Кроме того, вы можете использовать сценарий пакетного файла для удаления определенного типа файла или группы файлов в папке, если они соответствуют критериям, указанным в командах.
В первом примере в указанной папке удаляются файлы старше трех дней:
forfiles / p "C:
ome \ file
ame \ here" / s / m * / d -3 / c "cmd / c del @path"
Во втором примере удаляются только файлы с расширением.docx старше трех дней:
forfiles / p "C:
ome \ file
ame \ here" / s / m *.docx / d -3 / c "cmd / c del @path"
Здесь используются следующие команды и переключатели пакетного файла:
- forfiles позволяет нам использовать команды для каждого файла в местоположении i.е. команды будут применяться к каждому файлу, соответствующему аргументам команды
- / p детализирует путь для начала поиска, то есть каталог, из которого вы хотите удалить файлы
- / с дает команду на поиск в подкаталогах
- / m указывает команде использовать заданную маску поиска.В первом примере мы использовали подстановочный знак «*» , а во втором — .docx .
- / d-3 — установка времени. Увеличивайте или уменьшайте в зависимости от ваших требований
- / c del @path — аспект удаления команды
3. Автоматизация резервного копирования системы с помощью пакетного файла
Вы можете использовать пакетный файл для резервного копирования определенной папки или как часть более существенной настройки резервного копирования.Вы должны использовать точки резервного копирования и восстановления системы как часть регулярного обслуживания системы. Иногда стоит сделать пару копий всего, что могло бы заставить вас плакать, если бы это было удалено или уничтожено.
Вы можете использовать множество различных методов резервного копирования пакетных файлов.Ниже приведены инструкции для базового пакетного файла резервного копирования и другой немного более продвинутой версии.
Автоматизация резервного копирования пакетных файлов: метод № 1
Откройте Блокнот и введите следующие команды:
@echo off
ROBOCOPY C: \ your \ filename \ go \ здесь C: \ your \ backup \ location \ go \ here / LOG: backuplog.txt
пауза
Теперь перейдите к File> Save As , назовите файловую системуbackup.bat и завершите сохранение.
Простой метод резервного копирования лучше всего подходит для резервного копирования отдельных папок, но не совсем практичен для чего-то более сложного.Здесь используются следующие команды пакетного файла:
Автоматизация резервного копирования пакетных файлов: метод № 2
На этот раз вы создадите более длинную цепочку папок для резервного копирования, включая системный реестр и другие важные папки.
@echo off
:: variables
set drive = X: \ Backup
set backupcmd = xcopy / s / c / d / e / h / i / r / y
echo ### Резервное копирование моих документов...
% backupcmd% "% USERPROFILE% \ My Documents" "% drive% \ My Documents"
echo ### Резервное копирование избранного ...
% backupcmd% "% USERPROFILE% \ Favorites" "% drive% \ Favorites "
echo ### Резервное копирование электронной почты и адресной книги ...
% backupcmd%"% USERPROFILE% \ Application Data \ Microsoft \ Address Book ""% drive% \ Address Book "
% backupcmd%"% USERPROFILE% \ Local Settings \ Application Data \ Identities ""% drive% \ Outlook Express "
echo ### Резервное копирование электронной почты и контактов (MS Outlook) ...
% backupcmd%"% USERPROFILE% \ Local Settings \ Application Data \ Microsoft \ Outlook ""% drive% \ Outlook "
echo ### Резервное копирование реестра...
если не существует "% drive% \ Registry" mkdir "% drive% \ Registry"
если существует "% drive% \ Registryegbackup.reg" del "% drive% \ Registryegbackup.reg"
regedit / e "% drive % \ Registryegbackup.reg "
echo Резервное копирование завершено!
@ пауза
Вот объяснение того, что означают команды в этом пакетном файле, и биты, которые вы можете настроить.
Сначала укажите место, куда вы хотите скопировать файлы, используя set drive = X: \ Backup .В этом примере диск установлен на «X». Вы должны изменить эту букву на любую букву вашего внешнего резервного диска.
Следующая команда устанавливает конкретный тип резервной копии, который будет использовать ваш пакетный файл, в данном случае xcopy .После команды xcopy следует строка параметров, включающая дополнительные задачи:
- / с копирует системные файлы
- / c выполняет команду, указанную в строке, затем завершает
- / d позволяет изменять диски и каталоги
- / e копирует пустые каталоги
- / ч копирует скрытые файлы
- / i , если место назначения не существует, и вы копируете более одного файла, / i предполагает, что местом назначения должен быть каталог
- / r перезаписывает файлы только для чтения
- / y подавляет запросы, подтверждающие, что вы хотите перезаписать файлы, доступные только для чтения
Теперь, если вы хотите добавить в пакетный файл дополнительные хранилища резервных копий, используйте следующую команду:
% backupcmd% "... исходный каталог ... ""% диск% \ ... целевой каталог ... "
Пакетный файл включает несколько папок для копирования.Вы могли заметить, что папки составляют разные части вашего профиля пользователя Windows. Вы можете сделать резервную копию всей папки, используя следующую команду, предполагая, что вы используете те же «установить диск» и «установить резервную команду».
% backupcmd% "% USERPROFILE%" "% drive% \% UserName% - profile"
Автоматизация резервного копирования пакетных файлов: метод № 3
Окончательный сценарий автоматизации резервного копирования пакетных файлов очень прост.Это включает в себя создание резервной копии папки на внешнем диске, а затем выключение компьютера по завершении.
В новом текстовом файле введите следующие команды:
Robocopy "C: \ your \ folder" "X: \ your \ backup \ folder" / MIR
Shutdown -s -t 30
Сохраните командный файл, не забудьте изменить расширение файла на .летучая мышь . Здесь используются следующие дополнительные команды пакетного файла:
- Robocopy / MIR : Вы уже пробовали использовать robocopy.Дополнительный параметр / mir гарантирует, что каждая папка и подпапка также копируются.
- Shutdown -s -t: Команда shutdown сообщает Windows, что вы хотите завершить работу, а -s подтверждает, что это полное выключение (а не перезапуск или переход в режим гибернации). Параметр -t позволяет вам установить определенный промежуток времени до того, как система начнет процесс выключения, определяемый в секундах.В этом примере таймер установлен на 30 секунд, вы можете изменить его на все, что захотите. Удаление параметра таймера приведет к немедленному запуску процесса выключения.
Когда вы запускаете командный файл, он создает резервную копию определенных файлов и папок, а затем выключает ваш компьютер.
4.Измените свой IP-адрес с помощью командного файла
В большинстве случаев ваш компьютер использует динамический IP-адрес для подключения к Интернету.Иногда вместо этого вы можете использовать статический IP-адрес, например, на рабочем месте, в школе или в другом месте. Конечно, вы можете вручную переключаться между динамическим и статическим IP-адресом. Но если это место, где вы регулярно бываете, почему бы не сделать пакетный файл, который сделает всю работу за вас?
Вот как вы создаете пакетный файл для переключения на статический IP-адрес, а другой — для переключения обратно на динамический:
Пакетный файл для переключения на статический IP-адрес
Откройте новый текстовый файл, затем скопируйте с помощью следующей команды:
netsh interface IP установить адрес "LAN" static xxx.xxx.xxx.xxx "" xxx.xxx.xxx.x "" xxx.xxx.xxx.x "
Если первая серия « x’s » — это ваш требуемый статический IP-адрес, вторая — это маска сети / подсети, а третья — ваш шлюз по умолчанию.
Пакетный файл для переключения на динамический IP-адрес
Если вы хотите вернуться к динамическому IP-адресу, вы можете использовать этот командный файл.
Откройте следующий текстовый файл, затем скопируйте следующую команду:
netsh int ip set address name = "LAN" source = dhcp
Если у вас есть несколько сетей, к которым вы регулярно подключаетесь, продублируйте первый файл и соответствующим образом отредактируйте детали.
5. Уложите детей спать с помощью командного файла
Мои дети еще недостаточно взрослые, чтобы играть в видеоигры посреди ночи, но я помню свою тактику против родителей, так что я мог играть в Championship Manager 2 в ранние утренние часы.К счастью, мои родители не знали об использовании команд для управления моими действиями.
Вы можете использовать следующий командный файл, чтобы установить предупреждение и запустить таймер обратного отсчета на машине вашего ребенка:
@echo off
: W
Если% time% == 23:30:00.00 goto: X
: X
shutdown.exe / s / f / t / 120 / c "ИДИТЕ СЕЙЧАС В КРОВАТЬ !!!"
Здесь компьютер постоянно проверяет, не сейчас ли половина одиннадцатого.Когда время совпадает, появляется сообщение «ИДИТЕ СПАТЬ ПРЯМО СЕЙЧАС !!!» будет отображаться вместе с таймером обратного отсчета 120 с. У 120-х должно быть достаточно времени, чтобы сохранить любую игру, в которую они играют, или свою работу, прежде чем компьютер выключится.
Чтобы остановить обратный отсчет, нажмите Windows Key + R .(Конечно, детям этого не говорите!)
6. Пакетное переименование и массовое удаление файлов
Я написал более обширную статью, посвященную переименованию и удалению командных файлов, поэтому я не буду слишком подробно ее изучать, но вы можете использовать командные файлы для автоматизации этих, иногда утомительных, задач.Ознакомьтесь со статьей, чтобы узнать о некоторых расширенных пакетных командах, и сразу приступите к массовому удалению.
Связанный: Как пакетное переименование и массовое удаление файлов в Windows
7.Сыграйте в Pokémon в пакетном файле
Этот командный файл не имеет ничего общего с производительностью.Фактически, это полная противоположность. Если вы подвержены игровой зависимости, связанной с покемонами, вам следует пропустить эту игру, потому что это, по сути, Pokémon Red в текстовой форме.
Если вы не хотите пропустить, вы можете взять PokéBatch и начать играть.Загрузите текстовый файл, затем измените расширение файла с .txt на .bat , и все готово.
Если вам нравятся испытания, почему бы не проверить самые увлекательные испытания покемонов, чтобы доказать свое мастерство в этой серии?
Автоматизируйте свою жизнь с помощью пакетных файлов Windows!
Это всего лишь шесть командных файлов, которые вы можете создать для автоматизации задач в вашей системе.Приобретя больше практики, вы сможете выполнять в своей системе неожиданные объемы действий между пакетными файлами и командной строкой.
5 причин, по которым следует использовать PowerShell вместо пакетного сценария
PowerShell — это то, что вы получили бы, если бы пересекли командную строку с пакетными сценариями, добавили некоторые дополнительные функции и подняли все это на несколько ступеней.Вот несколько причин, по которым вам стоит попробовать.
Об авторе
Гэвин Филлипс
(Опубликовано 759 статей)
Гэвин — младший редактор отдела Windows and Technology Explained, постоянный участник Really Useful Podcast и редактор дочернего сайта MakeUseOf, посвященного криптографии, Blocks Decoded.У него есть степень бакалавра (с отличием) в области современного письма с использованием методов цифрового искусства, разграбленных на холмах Девона, а также более десяти лет профессионального писательского опыта. Он любит много пить чая, настольные игры и футбол.
Более
От Гэвина Филлипса
Подпишитесь на нашу рассылку новостей
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Еще один шаг…!
Подтвердите свой адрес электронной почты в только что отправленном вам электронном письме.
ВЫПОЛНИТЬ команду
Выполняет приложение или процесс
вне Google Analytics. Эмулирует команду Windows «Выполнить». Возможно
используется для взаимодействия с командной строкой Windows.
Примечание
Потому что
команда EXECUTE дает вам возможность взаимодействовать с операционной системой
и приложениями, не связанными с Google Analytics, могут возникнуть технические проблемы
которые выходят за рамки встроенных функций Google Analytics.
Служба поддержки может помочь с выполнением команды EXECUTE
внутри Google Analytics, но проблемы, возникающие с внешними процессами и приложениями
to Analytics не подпадают под действие поддержки.
Синтаксис
ВЫПОЛНИТЬ Windows_Run_command_syntax
Параметры
Имя | Описание |
---|---|
Windows_Run_command_syntax | Имя исполняемого приложения, папка Требуется действующая команда Windows Выполнить |
ASYNC опционально | Выполняет команду в асинхронном режиме. В асинхронном режиме, Если вы опустите ASYNC, то процесс, запущенный командой EXECUTE, должен завершиться до продолжения сценария Analytics. Аналитика недоступна, пока запущены внешние процессы. Примечание При запуске EXECUTE из командной строки Analytics вы |
Выходные переменные аналитики
Имя | Содержит |
---|---|
RETURN_CODE | Код, возвращаемый внешним приложением или процессом. Что такое коды возврата? Коды возврата представляют собой сгенерированные числа Типичные коды возврата Типичные коды возврата — целые числа Значение конкретных кодов возврата Особый Переменная создана только в режиме по умолчанию Переменная RETURN_CODE: |
Примеры
Открыть приложение
Открывает Microsoft Excel:
ВЫПОЛНИТЬ «Excel»
Открывает Adobe Acrobat Reader:
ВЫПОЛНИТЬ "AcroRd32.exe "
Закрыть приложение
Закрывает Microsoft Excel:
EXECUTE "TASKKILL / f / im Excel.exe "
Примечание
Использование
используйте переключатель / f с осторожностью. Принудительно закрывает приложение
без отображения каких-либо диалоговых окон, например, для сохранения изменений.
Открыть файл
Открывает книгу Excel AP_Trans.xlsx:
EXECUTE '"C: \ ACL Projects \ Source Data \ AP_Trans.xlsx"'
Создать новую папку
Создает новую папку с именем Source Data:
EXECUTE 'cmd / c MD "C: \ ACL Projects \ Source Data"'
Запускать внешние скрипты или командные файлы, не относящиеся к Google Analytics.
(.летучая мышь)
Запускает сценарий My_Batch.bat:
EXECUTE '"C: \ ACL Projects \ Batch Files \ My_Batch.bat"'
Передача параметров в пакет, не связанный с Google Analytics
файл
Передает два параметра My_Batch.летучая мышь. Параметры
могут быть литералами или переменными Analytics:
EXECUTE '"C: \ ACL Projects \ Batch Files \ My_Batch.bat" param1% v_param2%'
Запускать скрипты Analytics в других проектах Analytics
Выполняет «AP_Trans_script» в тестах AP Trans.acl «
EXECUTE 'aclwin.exe" C: \ ACL Projects \ AP Trans Tests.acl "/ b AP_Trans_script'
Примечание
Запуск аналитики
скрипт в другом проекте запускает второй экземпляр Analytics. В
сценарий во втором проекте должен заканчиваться командой QUIT, чтобы
что второй экземпляр Google Analytics закрывается и управление возвращается
начальный экземпляр Analytics.
Включить период ожидания в скрипт Google Analytics
Оба примера создают период ожидания в 30 секунд:
EXECUTE "TIMEOUT / t 30"
EXECUTE "cmd / c PING -n 31 127.0.0.1> нуль "
Замечания
Используйте EXECUTE для выполнения полезных задач
Команда EXECUTE позволяет
запускать команды Windows и DOS из командной строки Analytics
или из сценария Google Analytics.
Вы можете использовать эту способность для увеличения
автоматизация скриптов аналитики за счет выполнения различных
полезные задачи, выполнение которых невозможно при использовании синтаксиса ACLScript
один.
Примеры задач, которые можно запустить с помощью EXECUTE
Откройте другие программы и приложения и выполните задачи, необходимые для сценария Google Analytics | Передать параметры в командный файл | Доступ к данным из сетевых местоположений | Включить списки учетных записей Active Directory |
Открыть любой файл в приложении по умолчанию | Запускать скрипты Analytics в других проектах Analytics | Использовать FTP для доступа к данным из удаленных мест | Интеграция с VBScript |
Выполнять задачи администрирования файлов и папок, такие как копирование, перемещение, создание, удаление или сравнение существующих файлов или папок вне Аналитики | Включите периоды ожидания в скрипты Google Analytics | Архивировать или разархивировать данные | Интеграция с базами данных SQL |
Запускать внешние скрипты или командные файлы, не относящиеся к Analytics (.летучая мышь) | Включение планирования задач Windows в сценарии Google Analytics | Зашифровать или расшифровать данные | Открытые веб-страницы |
Примечание Конкретные сведения о том, как |
Режим по умолчанию и асинхронный режим
Вы можете запустить команду EXECUTE либо в режиме по умолчанию, либо в асинхронном режиме:
- Режим по умолчанию: процесс, запущенный EXECUTE, должен завершиться, прежде чем сценарий Google Analytics сможет продолжить работу.
Аналитика недоступна, пока запущены внешние процессы.
- В асинхронном режиме сценарий Analytics продолжает выполняться, не дожидаясь завершения процесса, запущенного EXECUTE.
Аналитика остается доступной во время выполнения внешних процессов.
Если вы укажете ASYNC, команда EXECUTE будет выполняться в асинхронном режиме.
Какой режим мне использовать?
При создании скриптов Google Analytics, использующих
команду EXECUTE нужно учитывать, какой режим работы
является целесообразным.
Использовать режим по умолчанию | Использовать асинхронный режим / ASYNC |
---|---|
|
|
Сценарии аналитики, которые запускаются автоматически
Если вам нужен скрипт Google Analytics
который содержит команду EXECUTE для автоматического запуска, используйте один из следующих методов:
- использовать асинхронный режим для любых задач, которые вызывают интерфейс приложения
или всплывающее диалоговое окно для открытия - избегать открытия элементов интерфейса в автоматических сценариях
Примечание
До
элементы интерфейса закрыты, они представляют собой процессы, которые все еще
Бег.Если эти элементы интерфейса открываются с помощью EXECUTE в режиме по умолчанию, они предотвращают последующие
строки в сценарии Analytics от выполнения и вызывают зависание сценария.
Команда EXECUTE в аналитических скриптах
Если вы хотите использовать команду EXECUTE в аналитических сценариях в Robots или на сервере AX Server, вы должны специально настроить команду для запуска.Для получения дополнительной информации см .:
Кавычки
Синтаксис команды «Выполнить» в Windows
которые вы используете с командой EXECUTE, должны быть заключены в один
или двойные кавычки.
В следующем примере используется команда Windows MD.
для создания новой папки:
EXECUTE 'cmd / c md C: \ New_Data_Folder'
Вложенные кавычки
Если
любые пути в синтаксисе команды Run содержат пробелы, пути
также должны быть заключены в кавычки.
У вас есть два варианта
при заключении путей в кавычки:
- Двойные кавычки внутри одинарных кавычек Используйте
одинарные кавычки, чтобы заключить всю строку команды Run,
и используйте внутри двойные кавычки, чтобы заключить пути:EXECUTE 'cmd / c md "C: \ New Data Folder"'
You
этот метод может быть легче читать, чем второй метод.Примечание
Реверс
порядок вложения — заключить в двойные кавычки
вся строка и одинарные кавычки, чтобы заключить пути —
не работает. - Две двойные кавычки Используйте двойные кавычки, чтобы заключить всю команду «Выполнить».
строка и используйте две двойные кавычки внутри, чтобы заключить
пути:ВЫПОЛНИТЬ "cmd / c md" "C: \ New Data Folder" ""
Если
вы используете этот второй метод, используются две двойные кавычки
внутри должно быть непосредственно примыкающим и не может иметь места
между ними.
Внутренние и внешние команды
Команды Windows
может быть внутренний или внешний .
- Внутренние команды
можно запускать только из командной строки, что означает, что у вас есть
открыть командную оболочку с помощью cmd / c или cmd
/ k перед указанием команды. - Внешние команды могут
запускаться либо из командной строки, либо напрямую с помощью EXECUTE
command, что означает, что открытие командной оболочки — это вариант, но
не требуется.
В приведенном ниже примере используется внутренняя команда Windows DIR.
(отображает содержимое каталога), а внешняя команда Windows COMP
(сравнивает два файла), чтобы проиллюстрировать разницу:
EXECUTE 'cmd / k dir "C: \ ACL DATA \ Sample Data Files"' ВЫПОЛНИТЬ 'comp C: \ File_1.txt C: \ File_2.txt '
Можно
Избегайте этого осложнения, создавая внешние скрипты или командные файлы
чтобы содержать команды Windows, и используя только команду EXECUTE
чтобы запустить командный файл. Например:
EXECUTE 'C: \ My_Batch.bat'
Синтаксис многострочной команды запуска
Команда EXECUTE
не поддерживает синтаксис многострочной команды Run.Включить многострочную
Запускайте команды в сценарии аналитики, используйте один из следующих методов:
Метод | Пример |
---|---|
Повторите команду EXECUTE для каждой команды Run. | EXECUTE 'cmd / c md "C: \ New Data Folder"' ВЫПОЛНИТЬ 'cmd / c copy C: \ File_1.txt "C: \ New Data Folder" ' |
Объедините команды «Пуск» с помощью символа «&». | ВЫПОЛНИТЬ 'cmd / c md «C: \ New Data Folder» и скопировать C: \ File_1.txt «C: \ New Data Folder»' |
Создайте внешний сценарий или командный файл, содержащий многострочные Запускайте команды и используйте команду EXECUTE только для запуска пакета файл. | ВЫПОЛНИТЬ 'C: \ My_Batch.bat' |
Запускать сценарии командной строки Windows по условию
В командной строке Windows можно создавать циклы, которые периодически выполняют сценарии. Вы можете увидеть, как это сделать, в одном из моих предыдущих постов.Допустим, вы хотите запустить сценарий R из командной строки Windows, но с условием или несколькими условиями. Например, запускайте сценарий R из командной строки только через определенный час или запускайте между определенными часами. Вот как это сделать.
Запуск сценария из командной строки Windows с одним условием.
Например, сценарий следует запускать только через определенный час. Я использую 24-часовую систему времени, и если я создам условие, что сценарий запускается только после того, как час больше 18, это означает, что сценарий будет выполняться с 19 по 24 час.
CMD, если условие выглядит следующим образом. Если час больше 18, выполнить сценарий R, но в противном случае вернуть текстовый текст. После оператора if сценарий переходит в цикл.
@ эхо выкл. :петля cls rem добавляет разрыв строки в вывод на экран эхо. echo Дополнительная информация об этом скрипте. rem изменить формат даты на гггг-мм-дд, объединив определенные подстроки установить гггг-мм-дд =% date: ~ 6,4% -% date: ~ 3,2% -% date: ~ 0,2% echo Текущая дата и время:% гггг-мм-дд%% время% rem извлечение текущего часа установить час =% времени: ~ 0,2% rem установка порога на час set / a treshhold = 18 эхо.если% час% GTR% treshhold% ( echo Выполняется progres.R эхо. "C: \ Program Files \ R \ R-3.6.1 \ bin \ i386 \ Rscript.exe" C: \ progres.R ) еще ( echo% time% слишком рано. Запуск скрипта только после% treshhold%: 59: 59. ) тайм-аут / т 10 / без перерыва цикл goto
Если условия соблюдены, я могу увидеть такой результат.
О некоторых других кодах.
Для меня требуется дополнительная информация. Например, дата и время для каждого цикла и описание.Все, что происходит после команды echo.
Чтобы добавить разрыв строки, используйте эхо и точку .
Вы хотите очищать командную строку Windows каждый раз при запуске нового цикла. Затем вам нужно вызвать команду cls .
Для комментирования вы можете использовать функцию rem .
Измените формат даты в командной строке Windows на ГГГГ-ММ-ДД.
Обычно для создания отметки времени вы можете использовать такую строку.
echo Текущая дата и время:% date%% time%
Но результат меня не удовлетворил.
Вы можете подумать о том, чтобы перейти в панель управления Windows и изменить формат даты в настройках региона и языка, где он указан.
Другой подход — сделать это в пакетном файле с небольшой помощью функции set и подстрок из исходного формата даты. Это то, что я сделал в этом коде. Тип комплект /? в командной строке, чтобы узнать больше.
Запуск сценария из командной строки Windows с несколькими условиями.
Для этой цели можно использовать вложенную функцию if .В этом примере скрипт будет запущен, если текущий час больше или равен 18, но меньше 20. Некоторые из параметров сравнения могут быть довольно удобными. Если вы наберете if /? вы можете получить такие инструкции:
EQU — равно
NEQ — не равно
LSS — меньше
LEQ — меньше или равно
GTR — больше
GEQ — больше или равно
@ эхо выкл. :петля cls rem добавляет разрыв строки в вывод на экран эхо. echo Дополнительная информация об этом скрипте.rem изменить формат даты на гггг-мм-дд, объединив определенные подстроки установить гггг-мм-дд =% date: ~ 6,4% -% date: ~ 3,2% -% date: ~ 0,2% echo Текущая дата и время:% гггг-мм-дд%% время% rem извлечение текущего часа установить час =% времени: ~ 0,2% rem установка порога на час set / a treshhold1 = 18 set / a treshhold2 = 20 эхо. если% час% GEQ% treshhold1% ( если% час% LSS% treshhold2% ( echo Выполняется progres.R эхо. "C: \ Program Files \ R \ R-3.6.1 \ bin \ i386 \ Rscript.exe "C: \ progres.R ) еще ( echo% time% слишком рано. Запуск скрипта только между% treshhold1%: 00: 00 и% treshhold2%: 00: 00. )) тайм-аут / т 10 / без перерыва цикл goto
Если я не соблюдаю условия, результат будет таким.
Вот полный список команд командной строки Windows.
4.5 Автоматизация с помощью пакетных файлов и запланированных задач
В этом курсе мы говорили о преимуществах автоматизации вашей работы с помощью скриптов Python.Приятно иметь возможность запускать несколько инструментов геообработки подряд без ручного обхода наборов инструментов Esri, но что такого автоматического при запуске Spyder, открытии скрипта и нажатии кнопки «Выполнить»? В этом разделе урока мы сделаем еще один шаг к автоматизации, обсудив, как сделать так, чтобы ваши скрипты запускались автоматически.
Сценарии и ваша операционная система
В большинстве случаев мы запускали сценарии в этом курсе через Spyder. Ваша операционная система (Windows) может запускать сценарии напрямую.Возможно, вы пытались дважды щелкнуть файл .py, чтобы запустить сценарий. Пока Windows понимает, что файлы .py представляют собой сценарий Python и что для его запуска следует использовать интерпретатор Python, сценарий запускается немедленно.
Когда вы пытаетесь запустить сценарий автоматически, дважды щелкнув его, возможно, вы получите сообщение о том, что Windows не знает, какую программу использовать для открытия вашего файла. Если это произойдет с вами, используйте кнопку Обзор в диалоговом окне ошибки, чтобы перейти к исполняемому файлу Python, который, скорее всего, находится в C: \ Program Files \ ArcGIS \ Pro \ bin \ Python \ envs \ arcgispro-py3 \ python.EXE. Убедитесь, что «Всегда использовать выбранную программу для открытия такого рода файлов» отмечен галочкой и нажмите ОК . Теперь Windows понимает, что файлы .py следует запускать с использованием Python.
Двойной щелчок по файлу .py дает вашей операционной системе простую команду для запуска этого сценария Python. В качестве альтернативы вы можете указать своей операционной системе запустить сценарий с помощью интерфейса командной строки Windows. Эта среда просто дает вам пустое окно с мигающим курсором и позволяет вам ввести путь к сценарию или программе, за которым следует список параметров.Это чистый, минималистичный способ запуска сценария. В Windows 10 вы можете открыть командную строку, щелкнув Пуск > Система Windows> Командная строка или выполнив поиск командной строки в поле Search .
Командная строка
Расширенное использование командной строки выходит за рамки этого курса. На данный момент достаточно сказать, что вы можете запустить сценарий из командной строки, введя путь к исполняемому файлу Python, за которым следует полный путь к сценарию, например:
C: \ Program Files \ ArcGIS \ Pro \ bin \ Python \ envs \ arcgispro-py3 \ python.exe C: \ PSU \ Geog485 \ Lesson1 \ Project1.py
Если сценарий принимает параметры, вы также должны ввести каждый аргумент через пробел. Помните, что аргументы — это значения, которые вы указываете для параметров скрипта. Вот пример команды, которая запускает сценарий с двумя аргументами, обе строки представляют собой пути. Обратите внимание, что вы должны использовать обычный \ в своих путях при предоставлении аргументов из командной строки (а не / или \\, как вы бы использовали в Spyder).
C: \ Program Files \ ArcGIS \ Pro \ bin \ Python \ envs \ arcgispro-py3 \ python.exe C: \ PSU \ Geog485 \ Lesson2 \ Project2.py C: \ PSU \ Geog485 \ Lesson2 \ C: \ PSU \ Geog485 \ Lesson2 \ CityBoundaries.shp
Если сценарий выполняется успешно, вы часто не увидите ничего, кроме новой командной строки (помните, это минимализм!). Если ваш сценарий предназначен для печати сообщения, вы должны увидеть это сообщение. Если ваш сценарий предназначен для изменения файлов или данных, вы можете проверить эти файлы или данные (возможно, используя панель «Каталог» в Pro), чтобы убедиться, что сценарий работает правильно.
Вы также увидите сообщения, если ваш скрипт завершится неудачно.Иногда это те же сообщения, которые вы видите в консоли Spyder. В других случаях сообщения более полезны, чем то, что вы видели бы в Spyder, что делает командную строку еще одним полезным инструментом для отладки. К сожалению, иногда сообщения оказываются менее полезными.
Пакетные файлы
Почему командная строка так важна при обсуждении автоматизации? В конце концов, для открытия командной строки и ввода команд по-прежнему требуется работа. В командах прекрасно то, что они тоже могут быть написаны по сценарию.Вы можете перечислить несколько команд в простом текстовом файле, который называется пакетным файлом. Запуск командного файла запускает все команды в нем.
Вот пример простого командного файла, который запускает два вышеуказанных сценария. Чтобы создать этот командный файл, вы можете поместить приведенный ниже текст в пустой файл Блокнота и сохранить его с расширением .bat. Помните, что это не Python; это синтаксис команды:
@ECHO OFF REM Запускает оба моих сценария проекта C: \ Program Files \ ArcGIS \ Pro \ bin \ Python \ envs \ arcgispro-py3 \ python.exe C: \ PSU \ Geog485 \ Lesson1 \ Project1.py ECHO Ran проект 1 C: \ Program Files \ ArcGIS \ Pro \ bin \ Python \ envs \ arcgispro-py3 \ python.exe C: \ PSU \ Geog485 \ Lesson2 \ Project2.py C: \ PSU \ Geog485 \ Lesson2 \ C: \ PSU \ Geog485 \ Lesson2 \ CityBoundaries.shp Проект ECHO Ran 2 ПАУЗА
Вот некоторые примечания к вышеуказанному командному файлу, начиная сверху:
- @ECHO OFF предотвращает печать всех строк командного файла в окне командной строки или консоли при запуске файла. Это стандартная процедура — использовать это как первую строку вашего командного файла, если вы действительно не хотите видеть, какая строка файла выполняется (возможно, для целей отладки).
- REM — это то, как вы помещаете комментарий в свой командный файл, точно так же, как # обозначает комментарий в Python.
- Вы помещаете команды в пакетный файл, используя тот же синтаксис, который вы использовали в командной строке.
- ECHO что-то выводит на консоль. Это может быть полезно для отладки, особенно если вы использовали @ECHO OFF, потому что вы не хотите видеть в каждой строке вашего командного файла, выводимой на консоль.
- PAUSE дает подсказку «Нажмите любую клавишу, чтобы продолжить …».Если вы не поместите это в конец командного файла, консоль сразу закроется после завершения выполнения файла. Когда вы пишете и отлаживаете командный файл, полезно поставить PAUSE в конце, чтобы вы могли видеть любые сообщения об ошибках, которые были напечатаны при запуске файла. После того, как ваш командный файл протестирован и работает правильно, вы можете удалить ПАУЗУ.
Пакетные файлы могут содержать переменные, циклы, комментарии и условную логику, которые выходят за рамки этого урока.Однако, если вы будете писать и запускать много сценариев для своей организации, стоит потратить некоторое время на изучение пакетных файлов. К счастью, командные файлы существуют уже давно (они старше самой Windows), поэтому в Интернете доступно множество полезной информации, которая может вам помочь.
Планирование задач
На данный момент мы довольно близко подошли к достижению настоящей автоматизации, но все еще необходимо запустить скрипт Python или командный файл, дважды щелкнув его, вызвав из командной строки или иным образом сообщив оператору система для его запуска.Чтобы по-настоящему автоматизировать выполнение сценариев и командных файлов, вы можете использовать служебную программу операционной системы, такую как Windows Task Scheduler.
Планировщик
Task Scheduler — один из тех элементов, скрытых в инструментах администрирования Windows, на которые вы, возможно, не обращали внимания раньше. Это относительно простая программа, которая позволяет вам запланировать регулярный запуск скриптов и командных файлов. Это полезно, если задача должна выполняться достаточно часто, чтобы запускать командный файл вручную было бы обременительно; но это еще более полезно, если задача требует некоторых из ваших вычислительных ресурсов, и вы хотите запускать ее ночью или в выходные, чтобы минимизировать влияние на других, которые могут использовать компьютер.
Вот реальный сценарий, в котором планировщик задач (или аналогичная утилита, если вы работаете на Mac, Linux или UNIX) очень важен: быстрые веб-карты, как правило, используют серверный кеш предварительно сгенерированных изображений карт или плитки, чтобы серверу не приходилось рисовать карту каждый раз, когда кто-то перемещается в область. Администратор веб-карты, имеющий ArcGIS Server, может запустить инструмент «Управление фрагментами кэша картографического сервера», чтобы создать фрагменты перед развертыванием веб-карты. После развертывания сервер быстро отправляет людям соответствующие плитки, когда они перемещаются по веб-карте.Все идет нормально.
Однако по мере изменения исходных данных ГИС для карты листы кэша устаревают. Это просто изображения и они не умеют обновляться автоматически. Кэш необходимо периодически обновлять, но создание плитки кэша — операция, требующая много времени и ресурсов процессора. По этой причине многие администраторы серверов используют планировщик задач для обновления кеша. Обычно это включает в себя написание сценария или пакетного файла, который запускает управление плитками кэша картографического сервера и другие инструменты кэширования, а затем планирование запуска этого сценария по ночам или выходным, когда это будет наименее мешать пользователям веб-карты.
Внутренний планировщик задач Windows
Давайте быстро заглянем в Планировщик задач Windows. Приведенные ниже инструкции предназначены для Windows Vista (и, возможно, Windows 7). В других версиях Windows есть очень похожий планировщик задач, и с некоторой адаптацией вы также можете использовать приведенные ниже инструкции, чтобы понять, как запланировать задачу.
- Откройте планировщик заданий, перейдя в меню «Пуск» Windows Инструменты администрирования Windows> Планировщик заданий .
- На панели Действия в правой части окна щелкните Создать базовую задачу . Это проведет вас через простой мастер настройки задачи. Позже вы можете настроить дополнительные параметры задачи.
- Дайте вашей задаче Имя , которое будет легко запоминаться, и, при желании, Описание . Затем нажмите Далее .
- Выберите, как часто вы хотите запускать задачу. В этом примере выберите Daily . Затем нажмите Далее .
- Выберите время начала и частоту повторения. Если хотите, выберите время на несколько минут впереди текущего времени, чтобы вы могли видеть, как оно выглядит при выполнении задачи. Затем нажмите Далее .
- Выберите Запустите программу , затем щелкните Далее .
- Вот момент истины, когда вы указываете, какой сценарий или командный файл вы хотите запустить. Щелкните Обзор и перейдите к одному из сценариев Python, которые вы написали в ходе этого курса.Здесь будет проще всего, если вы выберете сценарий, который не принимает никаких аргументов, например сценарий вашего проекта 1, который создает контурные линии из жестко закодированных наборов данных, но если вы чувствуете себя смелым, вы также можете добавить аргументы на этой панели. мастера. Затем нажмите Далее .
- Просмотрите информацию о своей задаче, затем щелкните Завершить .
- Обратите внимание, что ваша задача теперь отображается в списке в планировщике задач. Вы можете выделить задачу, чтобы увидеть ее свойства, или щелкните задачу правой кнопкой мыши и выберите Свойства , чтобы фактически установить эти свойства.Вы можете использовать расширенные свойства, чтобы ваш скрипт запускался даже чаще, чем ежедневно, например каждые 15 минут.
- Дождитесь наступления запланированного времени или, если вы не хотите ждать, щелкните задачу правой кнопкой мыши и выберите Выполнить . В любом случае вы увидите, что окно консоли появляется при запуске сценария и исчезает после его завершения. (Если вы запускаете скрипт Python и не хотите, чтобы окно консоли исчезало в конце, вы можете поместить строку в конце скрипта, например lastline = raw_input («>»).Это останавливает скрипт, пока пользователь не нажмет Enter. Как только вы научитесь регулярно запускать скрипт, вы, вероятно, захотите удалить эту строку, чтобы открытые окна консоли не загромождали ваш экран. В конце концов, идея запланированной задачи заключается в том, что она выполняется в фоновом режиме, не беспокоя вас.)
Рисунок 4.1 Планировщик задач Windows.
Сводка
Чтобы скрипты запускались автоматически, вы используете Планировщик задач Windows для создания задачи, которую операционная система запускает через регулярные промежутки времени.Задача может указывать либо на файл .py (для одного сценария), либо на файл .bat (для нескольких сценариев). Используя запланированные задачи, вы можете добиться полной автоматизации ваших ГИС-процессов.
cmd — Привет, мир | cmd Учебник
Пример
Пакетные сценарии командной строки
имеют расширение .cmd
или .bat
, последнее из соображений совместимости.
Чтобы создать сценарий приветственного слова, вам сначала нужно место, где его набрать.
Для простых сценариев также подойдет Блокнот Windows.Если вы серьезно относитесь к написанию сценариев оболочки, вам нужны более эффективные инструменты. В любом случае есть несколько бесплатных альтернатив, таких как Notepad ++.
В назначенном вами редакторе введите:
эхо Привет, мир
Пауза
Сохранить как hello.cmd
Если вы используете «Блокнот» в качестве редактора, вам следует уделять много внимания сохраненному имени, поскольку Блокнот всегда добавляет к вашим файлам расширение .txt
, что означает, что фактическое имя вашего файла может быть Привет.cmd.txt
. Чтобы этого избежать, в диалоговом окне сохранения:
- В поле
Имя файла
введите имя в двойных кавычках, например"hello.cmd"
- В поле «
Сохранить как тип
» выберите «Все файлы» вместо параметра «Текстовый документ по умолчанию».
Если файл был сохранен правильно, его значок должен быть похож на (Windows Vista):
Вы также можете отключить параметр «Скрыть расширение для известных типов файлов» в параметрах просмотра папок проводника.В этом случае имена файлов всегда отображаются с их расширениями.
Для выполнения hello.cmd
есть две возможности. Если вы используете графическую оболочку Windows, просто дважды щелкните ее значок.
Если вы хотите использовать саму командную строку, вы должны сначала определить каталог, в котором вы сохранили hello.cmd
.
В связи с этим, если вы откроете проводник с + E . В окнах со списком файлов вы обычно читаете имя пути к каталогу, в котором они находятся.Таким образом, вы можете определить каталог hello.cmd
. Имена каталогов Windows, как правило, довольно длинные, и их ввод может привести к ошибкам. Лучше, если вы выберете и скопируете путь к каталогу в буфере обмена для последующей вставки.
Запустите командную строку. Вы читали похожую строку.
Microsoft Windows [Версия ...]
(c) ... Корпорация Microsoft. Все права защищены.
C: \ Пользователи \ ...>
Версия / год Windows конечно зависит от вашей.В последней строке перед >
вы читаете путь к текущему каталогу. Вы должны сделать текущим каталог, в котором находится ваш скрипт. По этой причине введите команду изменения каталога cd
, используя строку, подобную следующей:
cd
Вместо
вставьте имя каталога, который вы ранее скопировали.
Чтобы вставить путь к каталогу в Windows 10, вам просто нужно ввести Ctrl — C , как в редакторе.Для более старых систем вы можете сделать это, щелкнув правой кнопкой мыши в окне cmd
.
После ввода команды обратите внимание, что текущий путь до >
изменяется соответственно.
Теперь вы можете запустить свой сценарий приветствия, просто введя:
привет
Комментарии
Скрипт напечатает результат, подобный:
C: \ Users \ ...> echo Hello World
Привет, мир
C: \ Users \ ...> пауза
Нажмите любую клавишу для продолжения .. .
Строки, содержащие символ >
, повторяют инструкции сценария, как если бы вы вводили их в интерактивном режиме.
Это можно отключить, написав:
@ эхо выкл.
в качестве первой строки вашего скрипта.
Это могло бы уменьшить беспорядок, но у вас будет меньше подсказок о том, что происходит, относительно тех команд сценария, которые не дают видимых результатов.
Последняя команда, пауза
, предлагает вам нажать любую клавишу.Когда вы это сделаете, вы выйдете из hello
.
Если вы запускаете hello
с консоли, он вам действительно не нужен, потому что, когда hello
завершает свое выполнение, cmd.exe
остается открытым, и вы можете прочитать вывод hello
.
При двойном щелчке в проводнике запускается cmd.exe
на время, необходимое для выполнения hello
. Когда hello
завершается, cmd.exe
делает то же самое, и у вас нет возможности прочитать вывод hello
. pause
command предотвращает выход hello
до тех пор, пока вы не нажмете клавишу, что также дает возможность прочитать вывод.
Наконец, несмотря на то, что имя сценария — hello.cmd
, нет необходимости вводить полное имя, достаточно его основы hello.cmd
. Этот механизм работает и для исполняемых файлов с расширением .exe
. Что делать, если в одном каталоге есть сценарий hello.cmd
и исполняемый файл hello.exe
? Первый имеет приоритет в командной строке, так что привет.cmd
будет выполнен.
Запуск сценариев из командной строки
Windows Script Host позволяет запускать сценарии из командной строки. CScript.exe предоставляет переключатели командной строки для настройки свойств сценария.
Для запуска скриптов с использованием CScript.exe
Host Options включает или отключает различные функции Windows Script Host. Перед параметрами хоста ставятся две косые черты (//). Имя сценария — это имя файла сценария с расширением и необходимой информацией о пути, например d: \ admin \ vbscripts \ chart.vbs
. Параметры сценария и параметры передаются сценарию. Перед параметрами скрипта стоит одинарная косая черта (/).
Каждый параметр не является обязательным; однако вы не можете указать параметры сценария без указания имени сценария.Если вы не укажете параметры, CScript отобразит синтаксис CScript и допустимые параметры хоста.
Несколько примеров сценариев, которые устанавливаются вместе с Windows Script Host, также доступны для загрузки по адресу (http://msdn.microsoft.com/scripting).
Предположим, что для целей этого примера вы скопировали образец сценария Chart.vbs в следующую папку на своем компьютере:
Копировать код | |
---|---|
c: \ sample scripts \ chart.vbs |
Вы можете запустить сценарий с логотипом и без него следующим образом.
Для запуска скрипта с логотипом или без него
Запустите командную строку MS-DOS.
Введите следующие команды в командной строке (измените соответствующим образом, если ваши образцы сценариев находятся в другой папке):
Копировать код cscript // logo c: \ "sample scripts" \ chart.vbs
cscript // nologo c: \ "образец сценария" \ chart.