Mover archivos a la carpeta usando el nombre de archivo coincidente

Mover archivos a la carpeta usando el nombre de archivo coincidente

Tengo archivos doc, docx y PDF en los que los nombres de los archivos constan de un número único de 9 dígitos seguido de texto.

Quiero mover esos archivos a sus respectivas carpetas que también constan de al menos un número único de 9 dígitos, pero pueden tener un texto diferente.

Esas carpetas están en otra carpeta del disco duro, pero puedo mover fácilmente los documentos a la misma carpeta principal si es necesario. Los nombres de archivos y carpetas son una combinación de 123456789_Firstname_Lastname.docx. En lugar de guiones bajos, puede haber espacios, comas o ningún espacio. Sin embargo, lo que sí es seguro es que el nombre del archivo y la carpeta comienza con 9 números.

Tengo instalado Python, Hazel y Directory Opus y puedo instalar cualquier otra cosa si es necesario para que este proceso funcione. Hay miles de archivos, por lo que realmente agradecería una solución.

Respuesta1

No es un servicio de escritura de scripts, pero este PowerShell (no probado) debería ayudarle a comenzar:

$DestParent = 'C:\NumberedFolders'
Get-ChildItem *.txt, *.pdf | %{
   $ID = $_.BaseName.Substring(0,8)
   $Dest = (Get-Item "$destparent\$ID*").FullName
   Move-Item -Path $_.FullName -Destination $Dest
}

Get-ChildItem

Para cada objeto

Método String.Substring

Obtiene el objeto

Mover elemento

información relacionada