Обробка аргументів командного рядка в PowerShell за допомогою аргументів
- powershell.exe Alkane.ps1 "Alkane" "Рішення"
- $arg1 = $args[0] $arg2 = $args[1] Хост запису "Аргумент 1: $arg1" Хост запису "Аргумент 2: $arg2"
- if ($args.Count -lt 2) { Write-Host "Будь ласка, надайте принаймні два аргументи."
Аргументи можуть бути передані сценарію під час його виконання, записавши їх у вигляді списку, розділеного пробілами після імені файлу сценарію. Усередині сценарію змінна $1 посилається на перший аргумент у командному рядку, $2 — на другий аргумент і так далі. Змінна $0 посилається на поточний сценарій.
Аргументи командного рядка обробляються функцією main() програми на С. Щоб передати аргументи командного рядка, ми зазвичай визначте main() за допомогою двох аргументів: перший аргумент — це кількість аргументів командного рядка, а другий — список аргументів командного рядка.
Щоб передати аргумент у команді Invoke, вам потрібно використовуйте параметр -ArgumentList. Наприклад, нам потрібно отримати інформацію про процес блокнота на віддаленому сервері.
Перед назвою параметра стоїть дефіс (-), який сигналізує PowerShell, що слово, яке стоїть після дефіса, є назвою параметра. Ім’я та значення параметра можна розділити пробілом або двокрапкою. Деякі параметри не вимагають або не приймають значення параметра.
Для цього виконайте такі дії:
- Клацніть правою кнопкою миші Build Specifications у Project Explorer завершеного проекту.
- Виберіть новий>>Програма (EXE)
- Перейдіть до категорії «Додатково».
- Поставте прапорець «Передавати всі аргументи командного рядка в програму» (Малюнок 3).