17

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

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

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

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

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

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

3 ответа3

24

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

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

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

3

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

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

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

0

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .