Kaip perduoti „PowerShell“ scenarijaus argumentą?

Yra „ PowerShell scenarijus, pavadintas itunesForward.ps1 , kuris leidžia „iTunes“ greitai per 30 sekundžių:

 $iTunes = New-Object -ComObject iTunes.Application if ($iTunes.playerstate -eq 1) { $iTunes.PlayerPosition = $iTunes.PlayerPosition + 30 } 

Atlikta naudojant eilutę:

 powershell.exe itunesForward.ps1 

Ar galiu perduoti argumentą iš komandų eilutės ir naudoti jį scenarijuje, o ne 30 sekundžių kietu kodu?

316
08 апр. nustatė Borisas Pavlović 08 balandis. 2011-04-08 11:33 '11 at 11:33 2011-04-08 11:33
@ 4 atsakymai

Išbandytas kaip darbas:

 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 } 

Skambinkite

 powershell.exe -file itunesForward.ps1 -step 15 
471
08 апр. Ocaso Protal atsakymas balandžio 08 2011-04-08 11:48 '11, 11:48, 2011-04-08 11:48

Taip pat galite naudoti kintamąjį $args (pvz., Pozicijos parametrus):

 $step=$args[0] $iTunes = New-Object -ComObject iTunes.Application if ($iTunes.playerstate -eq 1) { $iTunes.PlayerPosition = $iTunes.PlayerPosition + $step } 

jis gali būti vadinamas taip:

 powershell.exe -file itunersforward.ps1 15 
285
08 апр. Atsakymą pateikė Emiliano Poggi 08.04. 2011-04-08 17:36 '11 at 17:36 2011-04-08 17:36

Leiskite Powershell analizuoti ir nustatyti duomenų tipą.
Viduje naudoja „Variantą“ šiam ...
ir paprastai atlieka gerą darbą ...

 param( $x ) $iTunes = New-Object -ComObject iTunes.Application if ( $iTunes.playerstate -eq 1 ) { $iTunes.PlayerPosition = $iTunes.PlayerPosition + $x } 

arba jei jums reikia perduoti keletą parametrų

 param( $x1, $x2 ) $iTunes = New-Object -ComObject iTunes.Application if ( $iTunes.playerstate -eq 1 ) { $iTunes.PlayerPosition = $iTunes.PlayerPosition + $x1 $iTunes.<AnyProperty> = $x2 } 
2
09 нояб. Atsakymas pateiktas ZEE 09.11 . 2018-11-09 18:24 '18, 18:24 pm 2018-11-09 18:24

Sukurkite failą „powerhell“ scenarijus su šiuo kodu.

 param([string]$path) Get-ChildItem $path | Where-Object {$_.LinkType -eq 'SymbolicLink'} | select name, target 

Tai sukuria scenarijų su kelio parametru. Jame bus išvardytos visos nurodytos kelio simbolinės nuorodos, taip pat simbolinės nuorodos tikslas.

0
19 дек. Atsakymą pateikė JDennis gruodžio 19 d. 2018-12-19 20:40 '18, 8:40 pm 2018-12-19 20:40