Удалить несколько файлов в командной строке PowerShell


19

С PowerShell, какой самый краткий способ удалить несколько файлов с явно заданными именами?

Например, на * ix это будет:

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

В настоящее время я использую:

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

Но я считаю это неоптимальным, поэтому я хотел бы увидеть альтернативы.

Ответы:


27

Вы можете указать rmкомандлету PowerShell (который сам по себе является псевдонимом Remove-Item) несколько файлов, но их необходимо разделять запятыми.

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

Проверьте Get-Help Remove-Itemдля более подробной информации. Или прочитайте некоторую документацию на веб-сайте Microsoft.


4

Это то, что я в конечном итоге использовал:

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

Это использует echo для передачи трех строковых аргументов в rm ( Remove-Item ). Я считаю, что это неявно использует параметр Remove-Item -Path. В документации отмечается, что «Имя параметра (« -Path ») является необязательным», и оно принимает входные данные конвейера по значению.


Это полезно для копирования / вставки нескольких файлов из Git.
Шон Луттин

0

Хитрость старой собаки, сначала определите массив. Поместите свои вещи в это, и RM черт из этого.

$myArray = @("subDir/a.png","subDir/b.png","thirdDir/c.gif")
rm $myArray
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.