sigsys|dk


Blog om udvikling

Custom extensions til Powershell

udgivet 11/8/2016 12:00:00 PM

I mit daglige arbejde bruger jeg powershell en del pga git. Jeg surfer derfor en del rundt i et givent projekt og,

  • kigger på indholdet af directories,
  • committer,
  • pull'er og
  • push'er til det remote git repository

En gang imellem har jeg dog brug for at starte en explorer i det directory jeg står i, da den visuelle repræsentation nogen gange er mere effektiv end hvad en ls kan give mig. Jeg fik derfor stykket denne "oneliner" sammen

explorer.exe (Get-Item -Path ".\" -Verbose).FullName

"onelineren" er dog en del at skulle skrive hver gang jeg gerne vil åbne en explorer.exe i nuværende directory, derfor har jeg lavet en funktion, EC, og tilføjet den til min profile. Har man ikke en profile for den indloggede bruger, kan man hurtigt oprette en ved at køre følgende kommando

New-Item -path $profile -type file –force

Accepter prompten, som springer frem på skærmen, og man vil derefter have en ny fil, Microsoft.Powershell_profile.ps1 i folderen WindowsPowerShell, som ligger under My Documents. Den fulde sti til profile filen, vil være C:\Users\[Username]\Documents\WindowsPowerShell\Microsoft.Powershell_profile.ps1.

Heri har jeg smidt følgende funktion

function EC {
    explorer.exe (Get-Item -Path ".\" -Verbose).FullName
}

Hvis jeg lukker alle min powershells ned, og åbner powershell igen, vil jeg, ved at skrive EC i prompten, få åbnet en explorer i den directory jeg står i. simpelt.

Denne funktion tager højest sandsynlig ikke højde for alt (funktionen tager faktisk ikke højde for noget), så man kan sikkert nemt få den til at fejle. Dog er jeg stadig en rookie når det kommer til Powershell scripting, så funktionen kan nok let laves mere robust. Finder jeg fejl, vil jeg selvfølgelig lave et opfølgende indlæg, hvor jeg kommer med en opdateret funktion.