Kezdőoldal » Számítástechnika » Programozás » Hogyan lehetne személyreszabot...

Hogyan lehetne személyreszabott parancsokat létrehozni PowerShell-hez Windows 10-nél?

Figyelt kérdés

Mondjuk szeretnék egy olyat csinálni, hogy:

userinfo --name Adrian

és kilistázza azt, ami adrian-hoz tartozik.

VAGY

lock (ez csak annyit tesz, hogy kiírja, hogy "Zárva")

lock -all (ez azt írja, "Mind zárva")

lock -t1 (ezt azt, "T1 zárva")

Tehát olyat, hogy a mögöttelévő dolgot értelmezi, amit beírok neki, de ne legyen kötelező megadni neki kritériumot (azaz mintha lenne egy alapértelmezett értéke, mint egy Switch-ben).


Remélem érthető ahogy felvázoltam.


2019. máj. 30. 21:48
 1/5 anonim ***** válasza:

Ha a felhasználóneved XXXX, akkor a gépeden ezt a fájlt hozd létre, ha még nem létezik:

C:\Users\XXXX\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

Ez a fájl minden alkalommal lefut, akárhányszor megnyitod a PowerShell-t a te felhasználói fiókoddal.


Egyébként az ún. cmdlet-ek a következő sémára épülnek:

[ige]-[főnév] (mindezt PascalCase-ben)

Vagyis mit csinálsz mivel. Vagyis a userinfo parancsodat inkább hívnám List-UserInfo-nak, ha kilistáz valamit. Mellesleg a paraméterek egy kötőjellel kezdődnek:

List-UserInfo -Name Adrian


Valami ilyesmi tartalommal tömném tele a fájlt:

function List-UserInfo([string] $Name) {

#kód

}


Ha egy paramétert kötelező megadni, azt kikényszerítheted:

if (Test-Path "variable:$Name") {

#hibát dobsz Write-Error-ral, hogy a Name változónak nem volt érték adva

}


Harmadik dolog: a PowerShell objektumorientált. Szóval ahelyett, hogy Write-Host-tal kiírodatod a dolgokat, azt szokás csinálni, hogy egy objektumot adsz vissza eredményként. A teljes kódot bemásolom valami kódmegosztóba:

[link]


Negyedik dolog: Használd a Windows PowerShell ISE-t kódszerkesztéshez.

2019. jún. 2. 02:27
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:

Ez mind szép és jó, csak:

"... Tehát olyat, hogy a mögöttelévő dolgot értelmezi, amit beírok neki, de ne legyen kötelező megadni neki kritériumot..."

2019. jún. 2. 06:28
 3/5 anonim ***** válasza:

"Ha egy paramétert kötelező megadni, azt kikényszerítheted:"

Azt írtam, hogy HA [...] kötelező. Nyilván ha nem kötelező, nem teszel bele ilyen kódot. Kérlek, kicsit használd az eszed!

2019. jún. 2. 06:35
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:

Hogyha nem teszem bele azt a részt, és nem írok be mögé semmit, nem dob ki semmit.

Teszteld a kódot. Én megtettem.

2019. jún. 2. 10:18
 5/5 anonim ***** válasza:

Hidd már el, hogy én is teszteltem a kódot és tudom, hogy jól működik. Te csinálsz valami hülyeséget. De legyen...

function Test-Script([string] $Param) {

Write-Host 'Haha'

}


Függetlenül attól, hogy adtál-e értéket a param-nak, kiírja, hogy Haha:

Test-Script

Test-Script -Param 'asd'

2019. jún. 2. 21:01
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!