Supprimer plusieurs fichiers sur la ligne de commande PowerShell

19

Avec PowerShell, quelle est la manière la plus concise de supprimer plusieurs fichiers nommés explicitement?

Par exemple sur * ix ce serait:

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

J'utilise actuellement:

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

Mais je considère que ce n'est pas optimal, donc je voudrais voir des alternatives.

Matthew Flaschen
la source

Réponses:

27

Vous pouvez donner l' rmapplet de commande de PowerShell (qui est en soi un alias pour Remove-Item) plusieurs fichiers, mais vous devez les séparer par des virgules.

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

Consultez Get-Help Remove-Itempour plus de détails. Ou lisez la documentation sur le site Web de Microsoft.

William Jackson
la source
4

Voici ce que j'ai fini par utiliser:

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

Cela utilise echo pour passer trois arguments de chaîne à rm ( Remove-Item ). Je crois que cela utilise implicitement le -Pathparamètre Remove-Item . La documentation note que "Le nom du paramètre (" -Path ") est facultatif" et accepte les entrées de pipeline par valeur.

Matthew Flaschen
la source
Cela est utile pour faire un copier / coller de plusieurs fichiers depuis Git.
Shaun Luttin
0

Vieux truc de chien, définissez d'abord un tableau. Mettez vos affaires dedans, et RM le diable hors de lui.

$myArray = @("subDir/a.png","subDir/b.png","thirdDir/c.gif")
rm $myArray
JP Lizotte
la source