In Windows is het wijzigen van mappen een fundamenteel onderdeel van bestandsbeheer, maar zou je genoegen nemen met het volledig schrijven van de paden van elke map die je bezoekt? Gelukkig kunnen PowerShell-opdrachten voor het wijzigen van de map je leven gemakkelijker maken.
In deze tutorial zul je de beschikbare opdrachten verkennen om mappen te wijzigen in PowerShell, wat je helpt om moeiteloos door je bestandssysteem te navigeren.
Lees verder en beheers vandaag nog de basisprincipes van de navigatie van het bestandssysteem met PowerShell!
Vereisten
Deze tutorial zal een praktische demonstratie zijn. Zorg ervoor dat je een Windows-systeem hebt met PowerShell geïnstalleerd om mee te kunnen doen. Deze tutorial gebruikt Windows 10 en PowerShell v7.
Overschakelen van de ene schijf naar de andere
Elk opslagapparaat, zoals een harde schijf of USB-drive, krijgt een stationsletter toegewezen (bijv. C:, D:, E:, …Z:). Wanneer je een PowerShell-venster opent, staat de prompt standaard in de map van je gebruikersprofiel op de huidige schijf.
Stel dat je regelmatig toegang nodig hebt tot bestanden of mappen die zijn opgeslagen op een andere schijf dan degene waarop je momenteel bent. Als dat het geval is, is het noodzakelijk om van de ene naar de andere schijf te schakelen.
Om te zien hoe je van de ene schijf naar de andere kunt overschakelen:
1. Open PowerShell en bevestig of de prompt C:\Gebruikers\administrator. aangeeft. Indien dat het geval is, bevindt u zich momenteel op het C: station in de profielmap van de gebruiker administrator, zoals hieronder weergegeven.

2. Open vervolgens een andere PowerShell-sessie, maar deze keer als administrator.
Hieronder begint de prompt in een andere standaardmap dan bij het starten van PowerShell als een gewone gebruiker. Specifiek begint de prompt in de map System32 binnen de map Windows op het huidige station (C:), zoals hieronder weergegeven.
Deze standaardgedrag voorkomt dat niet-beheerders per ongeluk kritieke systeembestanden wijzigen of gevoelige tools uitvoeren.

3. Voer onderstaand commando uit om het huidige station te wijzigen naar D:
(of naar elk ander beschikbaar station). Deze syntaxis is een snelle manier om tussen verschillende stations te navigeren in PowerShell.
Wanneer u van station wisselt in PowerShell met deze methode, verandert de prompt naar de hoofdmap van het nieuwe station, zoals in de uitvoer hieronder.
Zoals u kunt zien, ongeacht de standaardmap waarin PowerShell start, kunt u altijd naar een ander station wisselen.

4. Voer nu onderstaand commando uit om te proberen over te schakelen naar de map D:\Kitty
(of naar een andere submap).
Heb je dezelfde foutmelding gekregen als hieronder? Deze fout wordt weergegeven omdat je niet rechtstreeks kunt overschakelen naar submappen (bijvoorbeeld, D:\Kitty) in één keer met deze methode.
Spring naar het volgende gedeelte om te zien hoe je kunt overschakelen naar submappen.

Navigeren door het bestandssysteem via het cd
-commando
Het navigeren door meerdere submappen is een veelvoorkomende taak in PowerShell. Maar is er een snelle manier om door verschillende submappen te navigeren? Ja! Het cd
-commando, wat staat voor “change directory,” stelt je in staat om snel naar een andere submap te schakelen, ongeacht je huidige map.
Vroeger werd het
cd
-commando gebruikt om tussen stations en mappen te navigeren in de Opdrachtprompt. Microsoft heeft hetcd
-commando achterwaarts compatibel gemaakt, zodat je nog steeds tussen mappen kunt navigeren in PowerShell.
Lees verder en zie hoe je je bestandssysteem kunt navigeren met het cd
-commando.
Naar een map gaan op een ander station
Het lijkt misschien een gedoe om naar een submap op een ander station te springen als je erover nadenkt. Nou, er is geen reden om er te veel over na te denken. Je zult verrast zijn hoe snel het cd
-commando je naar een ander station laat springen terwijl je naar een van zijn mappen gaat.
Voer het onderstaande commando uit om naar de submap genaamd Kitty
te navigeren in het D:*
-station.

Omhoog gaan in de hiërarchie van mappen
Met bestandsbeheer, of wanneer je aan een project werkt, moet je mogelijk vaak één of twee niveaus omhoog gaan vanuit je huidige map. Het cd-commando ondersteunt de ..
-notatie waarmee je effectief kunt overschakelen naar de bovenliggende map van je huidige map.
Deze functie stelt je in staat om een niveau omhoog te gaan in je bestandssysteem zonder de volledige padnaam naar de bovenliggende map te hoeven opgeven.
1. Voer het cd
-commando hieronder uit, voeg een spatie toe en de ..
-notatie, waarmee je PowerShell vertelt om één niveau omhoog te gaan in de mapstructuur.
Het spatiekarakter na het
cd
-commando is niet vereist, omdat het commando prima werkt zonder. Maar het toevoegen van een spatie is een gangbare praktijk voor een betere leesbaarheid en consistentie met andere commando’s.
In de onderstaande uitvoer kun je zien dat de prompt één niveau omhoog gaat van de C:\Gebruikers\admin\Documenten naar de C:\Gebruikers\admin map. Let op dat je niet het volledige pad voor de C:\Gebruikers\admin map hoefde op te geven om omhoog te gaan.

2. In plaats van één niveau omhoog te gaan, voer het volgende commando uit met twee ..
-notaties, waarbij je aan het einde van elk een backslash (\
) toevoegt. Hiermee kun je twee niveaus omhoog gaan in de mapstructuur.
Hieronder laat de uitvoer zien dat je van de C:\Gebruikers\admin\Documenten direct naar de C:\Gebruikers map bent gegaan.

3. Tenslotte, voer het onderstaande commando uit om naar de hoofdmap van je huidige schijf te gaan.
Als je verdwaald bent in je bestandssysteem, komt deze opdracht goed van pas, omdat je snel naar de hoofdmap kunt springen. Deze opdracht bespaart je de moeite van het meerdere keren uitvoeren van het cd ..
commando.

Bewegen naar een specifieke submap
Net als het omhoog gaan in de directory-hiërarchie is het verplaatsen naar een specifieke submap ook een snelle taak. Aangezien er veel submappen kunnen zijn, werken toevoegingen zoals de vorige (..
en ..\
) niet. Je moet de naam van de submap specificeren.
Voer de onderstaande opdracht uit om naar een van de submappen (\admin
) in je huidige map (.
) te gaan.
Let op dat je tijd en moeite hebt bespaard, omdat je het volledige pad van de C:\Gebruikers\admin map niet hoefde te specificeren.

Door het bestandssysteem navigeren met PowerShell-cmdlets
Hoewel het cd
commando ongetwijfeld werkt in PowerShell, heeft Microsoft veel cmdlets geïntroduceerd, zoals Set-Location
, waarmee je door je bestandssysteem kunt navigeren.
Deze cmdlets bieden robuustere functionaliteit dan het cd
commando dat je kunt gebruiken om tussen stations te schakelen, gestapelde locaties te navigeren en door mappen te bladeren in de locatiegeschiedenis.
Blijf op de hoogte en zie hoe krachtig PowerShell-cmdlets zijn bij het navigeren door je bestandssysteem.
De locatie instellen vanaf een ander station
Zoals het cd
-commando, stelt de Set-Location
-cmdlet je in staat om van de ene map naar de andere te springen en rechtstreeks naar een van zijn mappen te navigeren. Maar omdat je een PowerShell-cmdlet gebruikt, moet je de -Path
-parameter toevoegen om het pad van je doellocatie in te stellen.
De Set-Location
-cmdlet stelt de huidige werkmap in op een opgegeven locatie. Die opgegeven locatie kan een van de volgende zijn:
- A directory, or subdirectory on the local file system.
- Elke andere locatie ondersteund door een provider in PowerShell.
- Of een registerlocatie.
Om te zien hoe de Set-Location
-cmdlet werkt bij het navigeren door je bestandssysteem:
Voer de onderstaande opdracht uit om naar de map Kitty
op je D:
-station te navigeren, zoals gespecificeerd in de -Path
-parameter.

Als je een beetje lui bent om de volledige
Set-Location
-cmdlet in te typen, kun je ook een van zijn aliassen gebruiken, zoalschdir
ensl
, om door je bestandssysteem te navigeren. Aliassen bieden een handigere manier om veelgebruikte commando’s te gebruiken.
Voer nu de onderstaande opdracht uit om de werklocatie in te stellen op een specifieke registerlocatie. In dit geval verwijst het HKLM:\
-pad (een verkorte notatie) naar de HKEY_LOCAL_MACHINE-hive in je Windows-register.
Deze opdracht stelt de werklocatie in op de root van de HKEY_LOCAL_MACHINE hive in het register. Door naar een register te navigeren, kunt u via andere PowerShell-commando’s toegang krijgen tot en wijzigingen aanbrengen in de subkeys en waarden.

Wisselen tussen gestapelde locaties (Push en Pop)
Het snel benaderen van gestapelde locaties klinkt handig. Maar is het mogelijk? Ja! De cmdlets Push-Location
en Pop-Location
laten u locaties pushen en poppen in een last-in-first-out (LIFO) volgorde vanaf een genoemde stapel.
Om gestapelde locaties te navigeren, volg deze stappen:
1. Voer het onderstaande Push-Location
-commando uit om uw huidige locatie naar een stapel genaamd Paths
te pushen en de map C:\Program Files\PowerShell\
in te stellen als de huidige map.

2. Voer vervolgens het onderstaande commando uit om uw huidige locatie (C:\Program Files\PowerShell\) naar de top van dezelfde Paths
-stapel te pushen.

3. Voer elk van de onderstaande commando’s uit om Paths
in te stellen als de standaardstapel en de gestapelde locaties te bekijken (Get-Location
).
Hieronder zie je momenteel twee gestapelde locaties, waarbij de laatste locatie die je hebt toegevoegd bovenaan staat.

4. Voer nu tweemaal het volgende Pop-Location
commando uit om de bovenste gestapelde locatie van de standaardstapel te verwijderen, die momenteel de Paths-stapel is.

Merk op dat het verwijderen van de locatie uit de stapel de locatie uit de stapel verwijdert. De onderstaande fout geeft aan dat je alle gestapelde locaties van de standaardstapel hebt verwijderd.

Navigeren naar een Map opgeslagen in een Variabele
Je hebt verschillende manieren doorgenomen om mappen in je bestandssysteem te navigeren. Maar wat als je vaak naar een specifieke locatie moet navigeren? Het meerdere malen typen van volledige paden of het doorlopen van de locatiegeschiedenis kan tijdrovend zijn. Waarom sla je niet gewoon het volledige pad van een map op in een variabele?
Met een gedeclareerde variabele kun je naar je doelmap navigeren zonder het pad uit je hoofd te hoeven specificeren.
1. Voer de onderstaande commando’s uit om de map C:\Program Files\PowerShell\
op te slaan in de variabele $psh
, en stel die locatie ($psh
) in als de huidige map.
De onderstaande uitvoer bevestigt een succesvolle mapwijziging met behulp van een variabele. Ongeacht je huidige map, kun je snel navigeren naar de C:\Program Files\PowerShell\ map via de $psh
variabele.
dutch
Maar let op dat deze methode alleen werkt voor de huidige PowerShell-sessie, tenzij je de variabele persisteert, zoals gedemonstreerd in de volgende stap.

2. Voer vervolgens de onderstaande commando’s uit, die geen uitvoer geven, maar de variabele ev_psh
persistent maken als een omgevingsvariabele (SetEnvironmentVariable
) met de waarde van het volledige pad van de map.
3. Voer tot slot het onderstaande commando uit om de waarde van de omgevingsvariabele ev_psh
in te stellen als de huidige map. Zorg ervoor dat je in een andere map bent dan die in je ev_psh
variabele.

Bladeren door mappen in de locatiegeschiedenis van PowerShell
Nog een snelle manier om door mappen te bladeren in PowerShell is door de locatiegeschiedenis te gebruiken. De parameter -Path
vertelt de cmdlet Set-Location
om naar een andere map te navigeren vanuit de locatiegeschiedenis (vorige en volgende), afhankelijk van de opgegeven waarde (-
of +
).
Voer de volgende commando’s uit om locaties uit de geschiedenis in te stellen als de huidige directory. Het teken +
brengt je vooruit in de locatiegeschiedenis, terwijl het teken -
je terugbrengt.

Conclusie
Bestandssysteemnavigatie kan lastig zijn als je opties beperkt zijn. Maar met PowerShell verander directory-commando’s, zoals Set-Location
, heb je genoeg opties. Hoe je je bestandssysteem efficiënter wilt navigeren, is helemaal aan jou.
Bovendien is het beheersen van het gebruik van Push-Location
en Pop-Location
om recente locaties op te slaan en op te roepen een waardevolle vaardigheid.
Deze technieken stellen je in staat om snel en naadloos door mappen en locaties te navigeren in PowerShell. Maar om verder te verbeteren, waarom overweeg je niet om meer te leren over aanvullende commando’s, zoals Get-ChildItem
, die je veel tijd kunnen besparen in je dagelijkse taken?
Source:
https://adamtheautomator.com/powershell-change-directory/