Wat is een commando?

Zoals in elke scripttaal heeft ook PowerShell een zogenaamde syntax. PS heeft naast gewone commando’s (zoals die in Command Prompt) ook zijn eigen vorm: CmdLets (commandlets). We nemen als voorbeeld volgend commando:

Get-ChildItem -Path C:\Windows\System32\ -Filter *.exe -Recurse

Het eerste gedeelte is meestal een werkwoord: Get

Je kan ook een lijst op vragen met alle werkwoorden die in PowerShell zitten. Maar dan zie je dat het niet allemaal werkwoorden zijn, zo zie je ook NEW er tussen staan.

Get-Verb

Vervolgens wordt het werkwoord altijd gevolgd door een koppelteken (), waarna een zelfstandig naamwoord volgt. In dit voorbeeld is dit: ChildItem

Na dit gedeelte kan je ook wat parameters en de values ervan gaan meegeven. In dit voorbeeld zijn dat 3 parameters:

-Path C:\Windows\System32\ (Op welk path het commando moet worden uitgevoerd)
-Filter Welke filter er moet worden toegepast
-Recurse Het hele commando moet ook op de submappen worden toegepast

Het hele commando wil dus zeggen:

Laat alle bestanden (Get-Childitem) zien in de folder C:\Windows\System32\ (-Path) die eender welke naam mogen hebben (*) maar ze moeten wel eindigen op extensie ‘.exe’ en je moet ook in de submappen van system32 zoeken (-Recurse)

(*)wordt gebruikt als wildcard en kan vervangwoorden door alle tekens

voorbeeld:
‘*.txt’ betekent dus, er mag van alles voor de punt staan, maar het moet eindigen op de extensie ‘.txt’. Nu worden dus alle tekst bestanden die eindigen op ‘.txt’ weergegeven.

Een ander soort wildcard is het vraagteken (?), dit werkt identiek hetzelfde als *, met als uitzondering dat het ? maar voor één teken staat.

voorbeeld:
‘draft1.txt’ en ‘draft2.txt’ zijn allebei terug te vinden met ‘draft?.txt’.