/ / Виконання параметрів у сценарії Powershell з командного файлу - powershell, batch-file, аргументи командного рядка

Запускати параметри у сценарії Powershell з командного файлу - powershell, batch-file, аргументи командного рядка

Я намагаюся вказати параметри у сценарії PowerShell з пакетного файлу.

Сам сценарій виглядає так:

    Param(
[Parameter(Mandatory=$true,HelpMessage="Application switch")]
[string[]]$Apps,
[ValidateRange(3,9999)]
[int]$SwitchDelay = 30

$AppPids = @()
$Windows = Get-Process | ? { $_.MainWindowTitle -ne "" }
$Wsh = New-Object -COM Wscript.Shell

foreach ($App in $Apps) {
foreach ($Window in $Windows) {
if ($Window.MainWindowTitle -like $App) {
Write-Verbose "Vindusfilter ""$App"" found hit on ""$($Window.MainWindowTitle)"" med PID ""$($Window.Id)"""
$AppPids += $Window.Id
}
}
}

do {
foreach ($ID in $AppPIDS) {
# Hides text...
$Wsh.AppActivate($ID) | Out-Null
Start-Sleep -Seconds $SwitchDelay
Write-Verbose "Changed window to PID ""$ID"""
}
} while ($true)

І те, що я намагаюся зробити, це визначити в пакетному файлі щось подібне:

%SystemRoot%system32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -File "C:AppRotate.ps1" -Apps "*Chrome*", "Spotify*" -Switchdelay 5
pause

(Потрібно показувати тут повідомлення про помилку, спочатку потрібно більше репутації ...) Помилка: "... PositionalParameterNotFound.Approtate.ps1"

Я в принципі новачок у написанні сценаріїв, тому будь-які ідеї?

Відповіді:

2 для відповіді № 1
%SystemRoot%system32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -File   "C:AppRotate.ps1" -Apps "*Chrome*","Spotify*" -Switchdelay 5

Проблема полягала в просторі між першою і другою змінною параметра -Apps.

Потрібно працювати зараз.