Come eliminare una cartella in PowerShell

  1. Usa il Cmdlet Remove-item per Eliminare una Cartella in PowerShell
  2. Usa il Prompt dei Comandi per Eliminare una Cartella in PowerShell
  3. Usa il Metodo dell’Oggetto FileSystem per Eliminare una Cartella in PowerShell
  4. Utilizzando la Classe .Net per Eliminare una Cartella in PowerShell
Abbiamo creato un video dettagliato su YouTube per accompagnare questo articolo, incorporato qui sotto!
Come eliminare una cartella in PowerShell

L’azione di cancellazione della cartella in PowerShell rimuove una cartella da una posizione data, sia essa un percorso locale o condiviso.

Questo articolo si concentra sui diversi metodi per eliminare una cartella utilizzando PowerShell.

Usa il Cmdlet Remove-item per Eliminare una Cartella in PowerShell

È possibile rimuovere uno o più oggetti con il cmdlet Remove-Item.

Possiamo utilizzare due sintassi diverse per la cancellazione. Tuttavia, va notato che queste due possono essere utilizzate separatamente ma non combinate.

  • Sintassi 1
Remove-Item
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Stream <String[]>]
[<CommonParameters>]
  • Sintassi 2
Remove-Item
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Stream <String[]>]
[<CommonParameters>]

Entrambi -Path e -Literalpath non possono essere utilizzati nella stessa sintassi.

Parametri di Remove-item

Il nome e la descrizione dei parametri più comuni utilizzati sono riportati di seguito.

Nome Descrizione
-Path La posizione delle cose da rimuovere è specificata. Non ci sono restrizioni sull’uso di caratteri jolly.
-LiteralPath Percorso specificato per una o più posizioni
-Confirm Viene richiesta la conferma prima di eseguire il cmdlet
-Exclude Elementi che il cmdlet esclude durante l’operazione
-Credential Nessun provider installato in PowerShell supporta questo parametro. Usa Invoke-Command per impersonare un altro utente o aumentare i tuoi privilegi quando usi questo cmdlet.
-Filter filtro per validare il parametro del percorso
-Force Forza la rimozione di oggetti che non possono essere modificati altrimenti, come file/alias o variabili privati o di sola lettura.
-Include Elementi che il cmdlet include durante l’operazione
-Recurse Questo cmdlet scarta gli oggetti nelle posizioni date, così come tutti gli elementi figli delle posizioni.
-Stream L’argomento Stream è un parametro dinamico aggiunto a Remove-Item dal provider FileSystem. Questa impostazione è applicabile solo a unità con un file system.
-WhatIf Mostra cosa succede se il cmdlet viene eseguito.

Esaminiamo alcuni esempi insieme a diversi utilizzi delle sintassi,

Esempio 1:

Qui elimineremo la cartella test1 utilizzando il comando menzionato di seguito, e alla fine potrai vedere che la cartella verrà eliminata.

Remove-Item 'D:\temp\Test1'

Esempio 2:

Elimineremo ricorsivamente la cartella test2. PowerShell controlla se la directory è vuota nell’esempio precedente. Rimuoverà semplicemente la cartella in questo scenario.

Remove-Item 'D:\temp\test2' -Recurse

Esempio 3: Utilizzando -LiteralPath in -RemoveItem

Il -LiteralPath è utilizzato insieme ai parametri -Force e -Recurse. Quindi elimina forzatamente gli elementi insieme alla cartella nel percorso dato senza alcun prompt di conferma.

Remove-Item -LiteralPath "foldertodelete" -Force -Recurse

Esempio 4: Remove-item come pipeline

Usiamo prima il Get-ChildItem per recuperare le cartelle e i file, e poi utilizziamo il Remove-Item per incanalare i risultati dal comando precedente.

Get-ChildItem C:\Temp\TestFolder\ | Remove-Item -Recurse -Force -Verbose

L’unico problema qui è che elimina solo i contenuti della cartella ma non la cartella stessa; pertanto, devono essere aggiunti altri frammenti di codice per eliminare la cartella.

Usa il Prompt dei Comandi per Eliminare una Cartella in PowerShell

La maggior parte degli utenti della linea di comando utilizzerà il comando rmdir per rimuovere o eliminare cartelle. La sintassi è rmdir insieme al percorso della cartella, come mostrato di seguito.

rmdir C:\Temp\TestFolder

Usa il Metodo dell’Oggetto FileSystem per Eliminare una Cartella in PowerShell

Sono disponibili diverse opzioni per rimuovere una cartella in PowerShell. Una di queste è il Metodo dell’Oggetto File System. Ci sono due fasi in questa procedura. Nella prima fase, costruiremo un oggetto di file system; quindi, nella seconda fase, utilizzeremo la funzione DeleteFolder() per distruggere la cartella dell’oggetto associato.

Quindi, per fare ciò, prima crea un file test.ps1 e poi aggiungi i seguenti comandi dati di seguito.

$object = New-Object -ComObject Scripting.FileSystemObject
$object.DeleteFolder("C:\Temp\TestFolder")

Infine, esegui il file test.ps1, e eliminerà la nostra cartella desiderata.

Utilizzando la Classe .Net per Eliminare una Cartella in PowerShell

In PowerShell, la classe System.IO.Directory e il metodo Delete() sono utilizzati dal framework .NET per eliminare una cartella. Se la cartella fornita non è vuota, questa operazione genererà un’eccezione:

&gt [System.IO.Directory]::Delete("C:\Temp\TestFolder")

Per rimuovere questa cartella non vuota, utilizza l’opzione $true nella funzione Delete():

System.IO.Directory]::Delete("C:\Temp\TestFolder", $true)
Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.