EDIT: Я вижу, что OP запускает Windows из предыдущего комментария, однако следующая информация может приносить пользу пользователям Eclipse на платформе Linux, если Eclipse чтит псевдоним.
Вы запускаете Eclipse в Linux? Если это так, попробуйте сгладить команду gcc; запустите это на терминале:
alias gcc='gcc -Wall -pedantic -ansi'
Это обычный метод в Linux, чтобы указать параметры по умолчанию для приложения. Однако Eclipse может выполнить фактическое приложение gcc и игнорировать псевдоним; Я не тестировал его.
Проверено как работающее:
param([Int32]$step=30) #Must be the first statement in your script
$iTunes = New-Object -ComObject iTunes.Application
if ($iTunes.playerstate -eq 1)
{
$iTunes.PlayerPosition = $iTunes.PlayerPosition + $step
}
Позвоните по номеру
powershell.exe -file itunesForward.ps1 -step 15
Вы также можете определить переменную непосредственно в командной строке PowerShell, а затем выполнить скрипт. Переменная тоже будет там определена. Это помогло мне в случае, когда я не мог изменить подписанный скрипт.
Пример:
PS C:\temp> $stepsize = 30
PS C:\temp> .\itunesForward.ps1
с iTunesForward.ps1, равным
$iTunes = New-Object -ComObject iTunes.Application
if ($iTunes.playerstate -eq 1)
{
$iTunes.PlayerPosition = $iTunes.PlayerPosition + $stepsize
}
Вы также можете использовать переменную $args
(это похоже на параметры позиции):
$step=$args[0]
$iTunes = New-Object -ComObject iTunes.Application
if ($iTunes.playerstate -eq 1)
{
$iTunes.PlayerPosition = $iTunes.PlayerPosition + $step
}
, тогда она может быть вызвана как:
powershell.exe -file itunersforward.ps1 15
пусть Powershell проанализирует и определит тип данных
Внутренне использует «Вариант» для этого ...
и вообще делает хорошую работу ...
param( $x )
$iTunes = New-Object -ComObject iTunes.Application
if ( $iTunes.playerstate -eq 1 )
{ $iTunes.PlayerPosition = $iTunes.PlayerPosition + $x }
или если вам нужно передать несколько параметров
param( $x1, $x2 )
$iTunes = New-Object -ComObject iTunes.Application
if ( $iTunes.playerstate -eq 1 )
{
$iTunes.PlayerPosition = $iTunes.PlayerPosition + $x1
$iTunes.<AnyProperty> = $x2
}
Сценарий Вызова из файла ванны (*.bat) или Ядро CMD
Powershell
pwsh.exe -NoLogo -ExecutionPolicy Bypass -Command "./Script.ps1 -Param1 Hello -Param2 World"
pwsh.exe -NoLogo -ExecutionPolicy Bypass -Command "path-to-script/Script.ps1 -Param1 Hello -Param2 World"
<час> Powershell
powershell.exe -NoLogo -ExecutionPolicy Bypass -Command "./Script.ps1 -Param1 Hello -Param2 World"
powershell.exe -NoLogo -ExecutionPolicy Bypass -Command "path-to-script/Script.ps1 -Param1 Hello -Param2 World"
Вызов от powershell
Powershell Базовый или Windows Powershell
& path-to-script/Script.ps1 -Param1 Hello -Param2 World
& ./Script.ps1 -Param1 Hello -Param2 World
<час> Сценарий ps1 - Код Сценария
param(
[Parameter(Mandatory=$True, Position=0, ValueFromPipeline=$false)]
[System.String]
$Param1,
[Parameter(Mandatory=$True, Position=1, ValueFromPipeline=$false)]
[System.String]
$Param2
)
Write-Host $Param1
Write-Host $Param2