Удалить несколько файлов в командной строке 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
JP Lizotte
источник