item - Powershell: copie los archivos a diferentes carpetas de destino según los nombres de los archivos
powershell copy-item overwrite (1)
Queridos gurús Powershell,
Tengo algunos miles de archivos en una carpeta llamada C: / Downloads / Signs. Los archivos se nombran con sus dimensiones como 13X20 abcdjd.psf, 8X20 jdscnjfc.psf, 14X24 dje.psf, etc. Lo que quiero hacer es mover estos archivos a las carpetas de destino creadas dentro de C: / Downloads / Signs y la carpeta los nombres son las dimensiones de los nombres de los archivos. Ejemplo, los nombres de las carpetas serán 13X20, 8X20, 14X24, etc. y depende de tantos nombres de archivo únicos con sus dimensiones. Entonces, en lugar de moverlos manualmente para ver cuántos archivos hay en la carpeta C: / Downloads / Signs y luego moverlos individualmente, ¿cómo podemos hacerlo en Powershell?
Gracias, Sanders.
Este script recogerá todos los psf de la raíz de la carpeta C: / Downloads / Signs y moverá los archivos a las carpetas de destino (las carpetas crearán si no existen):
Get-ChildItem C:/Downloads/Signs -Filter *.psf | Where-Object {!$_.PSIsContainer} | Foreach-Object{
$dest = Join-Path $_.DirectoryName $_.BaseName.Split()[0]
if(!(Test-Path -Path $dest -PathType Container))
{
$null = md $dest
}
$_ | Move-Item -Destination $dest -Force
}