Eliminar varios archivos en la línea de comandos de PowerShell


19

Con PowerShell, ¿cuál es la forma más concisa de eliminar varios archivos con nombres explícitos?

Por ejemplo, en * ix sería:

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

Actualmente estoy usando:

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

Pero lo considero subóptimo, por lo que me gustaría ver alternativas.

Respuestas:


27

Puede asignar varios archivos al rmcmdlet de PowerShell (que en sí mismo es un alias para Remove-Item), pero debe separarlos con comas.

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

Echa un vistazo Get-Help Remove-Itempara más detalles. O lea alguna documentación en el sitio web de Microsoft.


4

Esto es lo que terminé usando:

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

Esto utiliza echo para pasar tres argumentos de cadena a rm ( Remove-Item ). Creo que esto usa implícitamente el -Pathparámetro Remove-Item . La documentación señala que "El nombre del parámetro (" -Path ") es opcional" y acepta la entrada de canalización por valor.


Esto es útil para copiar / pegar varios archivos desde Git.
Shaun Luttin

0

Viejo truco del perro, defina primero una matriz. Pon tus cosas dentro, y RM al diablo.

$myArray = @("subDir/a.png","subDir/b.png","thirdDir/c.gif")
rm $myArray
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.