Löschen Sie mehrere Dateien in der PowerShell-Befehlszeile

19

Wie lassen sich mit PowerShell mehrere explizit benannte Dateien auf übersichtliche Weise löschen?

ZB auf * ix wäre es:

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

Ich benutze derzeit:

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

Aber ich halte es für suboptimal, deshalb würde ich gerne Alternativen sehen.

Matthew Flaschen
quelle

Antworten:

27

Sie können dem PowerShell- rmCmdlet (das selbst ein Alias ​​für ist Remove-Item) mehrere Dateien zuweisen , die Sie jedoch durch Kommas trennen müssen.

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

Schauen Sie sich Get-Help Remove-Itemfür weitere Details. Oder lesen Sie die Dokumentation auf der Microsoft-Website.

William Jackson
quelle
4

Folgendes habe ich letztendlich verwendet:

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

Dies verwendet Echo, um drei Zeichenfolgenargumente an rm ( Remove-Item ) zu übergeben. Ich glaube, dies verwendet implizit den -PathParameter von Remove-Item . In der Dokumentation wird festgestellt, dass "der Parametername (" -Path ") optional ist" und Pipelineeingaben nach Wert akzeptiert.

Matthew Flaschen
quelle
Dies ist hilfreich, wenn Sie mehrere Dateien von Git kopieren / einfügen möchten.
Shaun Luttin
0

Alter Hund Trick, definieren Sie zuerst ein Array. Legen Sie Ihre Sachen hinein, und RM zum Teufel raus.

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