Usuń wiele plików w wierszu polecenia programu PowerShell

19

W programie PowerShell, jaki jest najbardziej zwięzły sposób usuwania wielu jawnie nazwanych plików?

Np. Na * ix byłoby to:

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

Obecnie używam:

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

Ale uważam to za nieoptymalne, dlatego chciałbym zobaczyć alternatywy.

Matthew Flaschen
źródło

Odpowiedzi:

27

Możesz podać rmcmdlet programu PowerShell (który jest aliasem Remove-Item) kilku plików, ale musisz je rozdzielić przecinkami.

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

Sprawdź Get-Help Remove-Itemwięcej szczegółów. Lub przeczytaj dokumentację na stronie Microsoft.

William Jackson
źródło
4

To właśnie skończyło się na użyciu:

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

Używa echa, aby przekazać trzy argumenty łańcuchowe do rm ( Remove-Item ). Wierzę, że domyślnie wykorzystuje parametr Remove-Item -Path. Dokumentacja zauważa, że ​​„Nazwa parametru („ -Path ”) jest opcjonalna” i przyjmuje wartość wejściową potoku według wartości.

Matthew Flaschen
źródło
Jest to pomocne w przypadku kopiowania / wklejania wielu plików z Git.
Shaun Luttin
0

Sztuczka starego psa, najpierw określ tablicę. Włóż w to swoje rzeczy, a RM do cholery.

$myArray = @("subDir/a.png","subDir/b.png","thirdDir/c.gif")
rm $myArray
JP Lizotte
źródło