Метод 1: разделение точкой с запятой (;)
Точка с запятой (;) — это универсальный символ, который позволяет разделять несколько команд PowerShell в одной строке. Каждая команда будет выполняться последовательно, независимо от результата предыдущей команды. Вот пример:
Write-Host "Hello"; Get-Process; Stop-Service -Name "MyService"
Метод 2: Конвейер (|)
Оператор конвейера (|) позволяет передавать выходные данные одной команды в качестве входных данных для другой, что позволяет объединить несколько команд вместе. Вот пример:
Get-ChildItem | Where-Object { $_.Extension -eq ".txt" } | ForEach-Object { Rename-Item $_ -NewName ($_.Name + ".backup") }
Метод 3: подстановка вложенных команд ($())
Вы можете вкладывать команды в другие команды, используя оператор подвыражения ($()). Это позволяет вам выполнить команду и использовать ее вывод в качестве параметра для другой команды. Вот пример:
$files = Get-ChildItem -Path "C:\Logs" -Recurse; Write-Host "Total files found: $($files.Count)"
Метод 4: фоновые задания
PowerShell позволяет запускать команды в фоновом режиме с помощью заданий. Вы можете использовать командлет Start-Job для запуска фонового задания, а затем использовать командлет Receive-Job для получения результатов. Вот пример:
$job = Start-Job -ScriptBlock { Get-Process }
# Do other tasks while the job is running
Receive-Job -Job $job
Метод 5: блоки сценариев ({})
Блоки сценариев позволяют группировать несколько команд вместе и рассматривать их как единое целое. Заключая команды в фигурные скобки, вы можете запускать их как одну строку, сохраняя при этом преимущества читаемости и удобства обслуживания. Вот пример:
& { Write-Host "Step 1"; Get-Process; Write-Host "Step 2"; Get-Service }
Выполнение нескольких команд PowerShell в одной строке — ценный навык, который может значительно повысить вашу производительность и эффективность. Используя такие методы, как разделение точкой с запятой, конвейеры, подстановку вложенных команд, фоновые задания и блоки сценариев, вы можете оптимизировать свои сценарии PowerShell и выполнять больше за меньшее время. Поэкспериментируйте с этими методами и выберите те, которые лучше всего соответствуют вашим конкретным потребностям. Удачных сценариев!