In Windows, cambiare directory è una parte fondamentale della gestione dei file, ma ti accontenteresti di scrivere i percorsi completi di ogni directory che visiti? Fortunatamente, i comandi di cambio directory di PowerShell possono rendere la tua vita più facile.
In questa guida, esplorerai i comandi disponibili per cambiare le directory in PowerShell, aiutandoti a navigare nel tuo sistema di file senza sforzo.
Continua a leggere e padroneggia le basi della navigazione del file system con PowerShell oggi!
Prerequisiti
Questa guida sarà una dimostrazione pratica. Per seguire, assicurati di avere un sistema Windows con PowerShell installato. Questa guida utilizza Windows 10 e PowerShell v7.
Passaggio da un’unità all’altra
Ogni dispositivo di archiviazione, come un disco rigido o una chiavetta USB, è assegnato a una lettera di unità (ad es., C:, D:, E:, …Z:). Quando apri una finestra PowerShell, il prompt si trova nella directory del profilo utente sull’unità corrente per impostazione predefinita.
Supponi di aver bisogno di accedere frequentemente a file o cartelle memorizzati su un’unità diversa da quella su cui ti trovi attualmente. In tal caso, è necessario passare da un’unità all’altra.
Per vedere come passare da un’unità all’altra:
1. Apri PowerShell e conferma se il prompt indica C:\Users\admin. Se è così, allora sei attualmente sul drive C: nella directory del profilo dell’utente admin, come mostrato di seguito.

2. Successivamente, apri un’altra sessione di PowerShell, ma questa volta, come amministratore.
Qui sotto, il prompt inizia in una directory predefinita diversa rispetto al lancio di PowerShell come utente normale. In particolare, il prompt inizia nella directory System32 all’interno della directory Windows sul drive corrente (C:), come mostrato di seguito.
Questo comportamento predefinito impedisce agli utenti non amministrativi di modificare accidentalmente file di sistema critici o di eseguire strumenti sensibili.

3. Esegui il comando sottostante per cambiare il drive corrente in D:
(o in qualsiasi altro drive disponibile). Questa sintassi è un modo rapido per navigare tra diversi drive in PowerShell.
Quando si cambia drive in PowerShell con questo metodo, il prompt cambia alla directory radice del nuovo drive, come nell’output qui sotto.
Come puoi vedere, indipendentemente dalla directory predefinita in cui inizia PowerShell, puoi sempre passare a un altro drive.

4. Ora, esegui il comando sottostante per tentare di passare alla directory D:\Kitty
(o a qualsiasi altra sotto-directory).
Ecco la traduzione:
Utente: Hai ricevuto lo stesso errore di seguito? Questo errore si verifica poiché non è possibile passare a sottodirectory (ad esempio, D:\Kitty) in un’unica operazione con questo metodo.
Vai alla sezione seguente per vedere come passare a sottodirectory.

Navigare nel sistema di file tramite il comando cd
Navigare in molte sottodirectory è un’attività comune in PowerShell. Ma c’è un modo rapido per navigare tra diverse sottodirectory? Sì! Il comando cd
, abbreviazione di “change directory”, ti consente di passare rapidamente a un’altra sottodirectory indipendentemente dalla tua directory corrente.
Un tempo, il comando
cd
veniva utilizzato per navigare tra unità e directory nel Prompt dei comandi. Microsoft ha reso il comandocd
retrocompatibile in modo da poter comunque navigare tra directory in PowerShell.
Continua a leggere e scopri come navigare nel tuo sistema di file con il comando cd
.
Spostarsi in una directory su un’unità diversa
Passare a una sottodirectory su un’unità diversa potrebbe sembrare complicato se ci pensi. Beh, non c’è bisogno di pensarci troppo. Sarai sorpreso di quanto velocemente il comando cd
ti permette di passare a un’altra unità mentre ti sposti in una delle sue directory.
Esegui il comando seguente per navigare alla sottodirectory chiamata Kitty
nell’unità D:*
.

Spostarsi di uno o più livelli nella gerarchia delle directory
Con la gestione del sistema di file, o quando si lavora su un progetto, potresti aver bisogno frequentemente di spostarti di uno o due livelli dalla tua directory corrente. Il comando cd supporta la notazione `..` che ti permette di passare efficacemente alla directory genitore della tua directory corrente.
Questa funzionalità ti consente di spostarti di un livello nel tuo sistema di file senza specificare il percorso completo della directory genitore.
1. Esegui il comando cd
di seguito, aggiungi uno spazio e la notazione ..
, che dice a PowerShell di salire di un livello nella gerarchia delle directory.
Il carattere spazio dopo il comando
cd
non è necessario, poiché il comando funzionerà correttamente anche senza di esso. Ma aggiungere uno spazio è una pratica comune per una migliore leggibilità e coerenza con altri comandi.
Nel risultato qui sotto, puoi vedere che il prompt si sposta di un livello dalla C:\Users\admin\Documents alla directory C:\Users\admin. Nota che non hai dovuto specificare il percorso completo per la directory C:\Users\admin per spostarti verso l’alto.

2. Invece di spostarti di un livello in su, esegui il seguente comando con due notazioni ..
, aggiungendo una barra rovesciata (\
) alla fine di ciascuna. In questo modo puoi spostarti di due livelli nella gerarchia delle directory.
Nel risultato qui sotto, puoi vedere che sei passato dalla C:\Users\admin\Documents direttamente alla directory C:\Users.

3. Infine, esegui il comando qui sotto per spostarti alla directory radice del tuo drive corrente.
Se ti sei perso nel tuo sistema di file, questo comando è utile in quanto ti consente di saltare rapidamente alla directory principale. Questo comando ti risparmia la seccatura di eseguire il comando cd ..
più volte.

Muoversi in una sottodirectory specifica
Come muoversi di un livello nella gerarchia delle directory, entrare in una sottodirectory specifica è anche un’operazione veloce. Poiché potrebbero esserci molte sottodirectory, l’aggiunta di notazioni come quelle precedenti (..
e ..\
) non funzionerà, è necessario specificare il nome della sottodirectory.
Esegui il comando sottostante per entrare in una delle sottodirectory (\admin
) nella tua directory corrente (.
).
Nota che hai risparmiato tempo ed sforzo poiché non hai dovuto specificare il percorso completo della C:\Users\admin directory.

Navigare nel sistema di file con i cmdlet di PowerShell
Sebbene il comando cd
funzioni senza dubbio in PowerShell, Microsoft ha introdotto molti cmdlet, come Set-Location
, che ti permettono di navigare nel tuo sistema di file.
Questi cmdlet forniscono funzionalità più robuste rispetto al comando cd
che puoi utilizzare per passare tra le unità, navigare tra le posizioni impilate e scorrere le directory nella cronologia delle posizioni.
Rimani sintonizzato e osserva quanto sono potenti i cmdlet di PowerShell nella navigazione nel tuo sistema di file.
Impostare una posizione da un’unità diversa
Come il comando cd
, il cmdlet Set-Location
ti consente di passare da una directory a un’altra e di navigare direttamente in una delle sue sottodirectory. Ma poiché stai utilizzando un cmdlet di PowerShell, devi aggiungere il parametro -Path
per impostare il percorso della tua posizione di destinazione.
Il cmdlet Set-Location
imposta la directory di lavoro corrente su una posizione specifica. Tale posizione specifica può essere una delle seguenti:
- A directory, or subdirectory on the local file system.
- Qualsiasi altra posizione supportata da un provider in PowerShell.
- O una posizione del registro.
Per vedere come funziona il cmdlet Set-Location
nella navigazione del tuo sistema di file:
Esegui il comando sottostante per navigare nella directory Kitty
nel tuo disco D:
specificato nel parametro -Path
.

Se ti senti un po’ pigro nel digitare l’intero cmdlet
Set-Location
, puoi anche utilizzare uno dei suoi alias, comechdir
esl
, per navigare nel tuo sistema di file. Gli alias forniscono un modo più comodo per accedere a comandi utilizzati frequentemente.
Ora, esegui il comando sottostante per impostare la posizione di lavoro su una posizione specifica nel registro. In questo caso, il percorso HKLM:\
(una scorciatoia) si riferisce all’alveo HKEY_LOCAL_MACHINE nel Registro di sistema di Windows.
Questo comando imposta la posizione di lavoro alla radice dell’arnia HKEY_LOCAL_MACHINE nel registro. Navigare in un registro consente di accedere e modificare le sue sottochiavi e valori tramite altri comandi PowerShell.

Cambiare tra le posizioni impilate (Push e Pop)
Accedere rapidamente alle posizioni impilate sembra comodo. Ma è possibile? Sì! I cmdlet Push-Location
e Pop-Location
ti consentono di spingere e estrarre posizioni in ordine LIFO (ultimo ad entrare, primo ad uscire) da uno stack nominato.
Per navigare tra le posizioni impilate, segui questi passaggi:
1. Esegui il comando Push-Location
sottostante per spingere la tua posizione attuale in uno stack chiamato Paths
e impostare la directory C:\Program Files\PowerShell\
come directory corrente.

2. Successivamente, esegui il comando sottostante per spingere la tua posizione attuale (C:\Program Files\PowerShell\) in cima allo stesso stack Paths
.

3. Esegui ciascun comando sottostante per impostare Paths
come stack predefinito e visualizzare (Get-Location
) le posizioni impilate.
Di seguito, puoi vedere che attualmente hai due posizioni impilate, dove l’ultima posizione che hai spinto è in cima.

4. Ora, esegui il seguente comando Pop-Location
due volte per estrarre la posizione in cima dalla stack predefinita, che attualmente è la stack dei percorsi.

Nota che estrarre la posizione dalla stack rimuove la posizione dalla stack. L’errore sottostante indica che hai estratto tutte le posizioni impilate dalla stack predefinita.

Navigare in una directory memorizzata in una variabile
Sei passato attraverso modi diversi per navigare nelle directory del tuo sistema di file. Ma cosa succede se devi navigare frequentemente in una posizione specifica? Digitare percorsi completi più volte o scorrere la cronologia delle posizioni può essere noioso. Perché non memorizzare invece il percorso completo di una directory in una variabile?
Con una variabile dichiarata, puoi navigare nella directory di destinazione senza specificare il percorso a memoria.
1. Esegui i comandi seguenti per memorizzare la directory C:\Program Files\PowerShell\
nella variabile $psh
e impostare quella posizione ($psh
) come directory corrente.
L’output sottostante conferma il cambio di directory riuscito utilizzando una variabile. Indipendentemente dalla tua directory corrente, puoi navigare rapidamente alla directory C:\Program Files\PowerShell\ tramite la variabile $psh
.
Ma nota che questo metodo funziona solo per la sessione corrente di PowerShell a meno che tu non persista la variabile, come dimostrato nel passaggio seguente.

2. Successivamente, esegui i comandi seguenti, che non forniscono un output, ma persistono la variabile ev_psh
come variabile di ambiente (SetEnvironmentVariable
) con il valore del percorso completo della directory.
3. Infine, esegui il comando seguente per impostare il valore della variabile di ambiente ev_psh
come directory corrente. Assicurati di trovarti in una directory diversa da quella nella tua variabile ev_psh
.

Ciclo tra le directory nella Cronologia della Posizione di PowerShell
Un altro modo rapido per navigare tra le directory nella Cronologia della Posizione di PowerShell è utilizzare la cronologia della posizione. Il parametro -Path
indica al cmdlet Set-Location
di navigare verso un’altra directory dalla cronologia della posizione (precedente e successiva), a seconda del valore specificato (-
o +
).
Esegui i seguenti comandi impostando le posizioni dalla cronologia come directory corrente. Il carattere +
ti porta avanti nella cronologia delle posizioni, mentre il carattere -
ti riporta indietro.

Conclusione
La navigazione del sistema di file può essere complicata quando le opzioni sono limitate. Ma con i comandi di cambio directory di PowerShell, come Set-Location
, hai molte opzioni. Come desideri navigare nel tuo sistema di file in modo più efficiente è totalmente a tua discrezione.
Inoltre, padroneggiare l’uso di Push-Location
e Pop-Location
per salvare e richiamare posizioni recenti è una competenza preziosa.
Queste tecniche ti permettono di muoverti rapidamente e senza intoppi attraverso directory e posizioni in PowerShell. Ma per migliorare ulteriormente, perché non considerare di imparare comandi aggiuntivi, come Get-ChildItem, che possono risparmiarti molto tempo nei tuoi compiti quotidiani?
Source:
https://adamtheautomator.com/powershell-change-directory/