Введення в windows powershell, що таке командлети, вебісторій

Введення в windows powershell, що таке командлети, вебісторій
Інтерфейс Windows PowerShell

Як було сказано вище, інтерфейсом командного рядка справа не обмежується. PowerShell надає системному адміністратору власну мову сценаріїв, що дозволяє автоматизувати складні дії.

Їх в PowerShell команди можуть бути у вигляді командлетів, функцій, сценаріїв і зовнішніх виконуваних файлів.

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

Командлети можуть мати параметри. У загальному вигляді це виглядає так:

імя_командлета -параметр1 -параметр2 аргумент1 аргумент2

Аргументи це параметри не мають імен.

Як це працює? Наприклад, у нас є команда dir. яка виводить вміст каталогу.

Введення в windows powershell, що таке командлети, вебісторій
Приклад роботи команди dir

Припустимо, я втратив певний файл. Нехай це буде файл довідки по Photoshop. Я точно пам'ятаю, що в імені файлу міститься «photoshop», і що це pdf-файл. Як мені пам'ятається, файл лежить в цьому каталозі. Я можу вивести список всіх файлів каталогу як в прикладі вище і шукати файл вручну. А можу застосувати параметр -filter. який виведе тільки ті файли, які відповідають певному аргументу. Як аргумент буде * photoshop * .pdf. Зірочки навколо слова «photoshop» стоять бо я не пам'ятаю точного імені файлу і вказую PowerShell на те, що перед і після «photoshop» можуть стояти будь-які символи. Так само я вказую шукати саме pdf-файл.

Введення в windows powershell, що таке командлети, вебісторій

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

Трохи ускладнити наш приклад. Скажімо, тепер мені потрібно знайти книгу Крістофера Доугерті. Команда dir -filter * Доугерті * .pdf мені нічого не дала. Це означає що книги в даному каталозі немає, але я точно пам'ятаю, що вона десь тут, очевидно, в підкаталогах. Для того, щоб шукати і в підкаталогах, додамо параметр -recurse.

Введення в windows powershell, що таке командлети, вебісторій

Пошук займе трохи більше часу, зате шукана книга буде знайдена.

Як бачимо, параметр -recurse не містить аргументу. Самі по собі параметри можуть стояти в будь-якому порядку, головне чітко дотримуватися логіку, коли необхідний аргумент слід після того параметра, для якого він призначений. Таким чином, команда dir -filter * Доугерті * .pdf -recurse спрацює точно так само як і dir -recurse -filter * Доугерті * .pdf.

Імена параметрів можна писати в скороченому вигляді, що досить зручно при повсякденній роботі з командним рядком. Скорочення повинно бути зрозуміло інтерпрітатора, тобто не допускати подвійних тлумачень. Наприклад, параметр -recurse ми можемо скоротити до простого -r. а скорочення -filter до -f викличе помилку, тому що є ще параметр -force. В такому випадку можна скоротити -filter до -fi.

Введення в windows powershell, що таке командлети, вебісторій

Отже, ми отримали уявлення про Командлети. Наступного разу поговоримо про функції.