Bulk renomear arquivos para o nome da pasta pai

4

Eu tenho um grande (aprox. 150.000) arquivos tiff que todos têm o mesmo nome de arquivo. Eles são únicos por causa da estrutura de diretório em que são mantidos.

Eu gostaria de renomear em massa os arquivos tiff para que eles se tornem únicos, com base na estrutura do diretório em que eles são mantidos.

Alguém tem algum método de conseguir isso?

Estou usando o Windows Server 2012 para que uma solução usando um script cmd, um arquivo em lotes ou uma ferramenta GUI do Windows seja perfeita.

Idealmente, isso é o que eu gostaria de ter, mas se eu tiver que ter mais ou toda a estrutura de diretórios no nome do arquivo final, ainda assim será muito, muito útil.

C:\A_001\B_0001\ABC%bl0ck_qu0te%01.tif -> ABC.tif

C:\A_001\B_0001\JKL:%bl0ck_qu0te%01.tif -> JKL.tif

C:\A_001\B_0001\XYZ%bl0ck_qu0te%01.tif -> XYZ.tif

C:\A_001\B_00023%bl0ck_qu0te%01.tif -> 123.tif

C:\A_001\B_00026%bl0ck_qu0te%01.tif -> 456.tif

C:\A_001\B_00029%bl0ck_qu0te%01.tif -> 789.tif

    
por MWard 06.11.2014 / 10:03

2 respostas

2

Você pode facilmente fazer isso com o VBScript assim ( não testado !):

Const cRootDir = "here_to_start"
Const sFileToRename = "here_to_rename"
Set Fso = CreateObject("Scripting.FileSystemObject")
Dim oRootDir : Set oRootDir = Fso.GetFolder(cRootDir)

For Each subfolder In oRootDir
   For Each oFile in subfolder.Files
     If oFile.Name = sFileToRename  Then Fso.MoveFile oFile, subfolder & ".tif"
   Next
Next

Você pode iniciar este script com

cscript.exe myScript.vbs

    
por 06.11.2014 / 11:03
1

Em Utilitário de renomeação em massa , defina 'Acrescentar nome da pasta' como 'Prefixo' ou ' Sufixo 'e, opcionalmente, adicione um caractere separador (Sep.) e defina' Níveis 'para quantos diretórios acima do arquivo devem ser incluídos em seu novo nome de arquivo.

Você pode usar seus outros recursos de renomeação, por exemplo, 'Remover', 'Substituir', 'RegEx', para modificar ainda mais os nomes dos arquivos originais.

    
por 18.09.2016 / 09:18