Mova os arquivos para a pasta usando o nome de arquivo correspondente

Mova os arquivos para a pasta usando o nome de arquivo correspondente

Tenho arquivos doc, docx e PDF em que os nomes dos arquivos consistem em um número exclusivo de 9 dígitos seguido de texto.

Quero mover esses arquivos para suas respectivas pastas, que também consistem em pelo menos o número exclusivo de 9 dígitos, mas podem ter texto diferente.

Essas pastas estão em outra pasta no disco rígido, mas posso mover facilmente os documentos para a mesma pasta pai, se necessário. Os nomes dos arquivos e pastas são uma combinação de 123456789_Firstname_Lastname.docx. Em vez de sublinhados, pode haver espaços, vírgulas ou nenhum espaço. O que é certo, porém, é que o nome do arquivo e da pasta começa com 9 números.

Tenho Python instalado, Hazel e Directory Opus e posso instalar qualquer outra coisa, se necessário, para fazer esse processo funcionar. Existem milhares de arquivos, então eu realmente apreciaria uma solução.

Responder1

Não é um serviço de escrita de scripts, mas este PowerShell (não testado) deve ajudá-lo a começar:

$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

ForEach-Object

Método String.Substring

Obter item

Mover item

informação relacionada