Elimina più file dalla riga di comando di PowerShell


19

Con PowerShell, qual è il modo più conciso per eliminare più file con nome esplicito?

Ad esempio su * ix sarebbe:

rm subDir/a.png anotherDir/b.jpg thirdDir/c.gif

Attualmente sto usando:

echo subDir/a.png anotherDir/b.jpg thirdDir/c.gif|rm

Ma lo considero non ottimale, quindi vorrei vedere delle alternative.

Risposte:


27

È possibile fornire al rmcmdlet di PowerShell (che è esso stesso un alias per Remove-Item) diversi file, ma è necessario separarli con virgole.

rm .\subDir\a.png, .\anotherDir\b.jpg, .\thirdDir\c.gif

Scopri Get-Help Remove-Itemper maggiori dettagli. Oppure leggi la documentazione sul sito Web di Microsoft.


4

Questo è quello che ho finito per usare:

echo subDir/a.png anotherDir/b.jpg thirdDir/c.gif|rm

Questo utilizza echo per passare tre argomenti stringa a rm ( Rimuovi elemento ). Credo che questo usi implicitamente il -Pathparametro di Remove-Item . La documentazione osserva che "Il nome del parametro (" -Path ") è facoltativo" e accetta l'input della pipeline in base al valore.


Questo è utile per fare una copia / incolla di più file da Git.
Shaun Luttin,

0

Il trucco del vecchio cane, definisci prima un array. Mettici dentro le tue cose, e RM, diamine.

$myArray = @("subDir/a.png","subDir/b.png","thirdDir/c.gif")
rm $myArray
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.