VBS ou lote para identificar pastas com mais de duas palavras

1

Eu tenho uma série de ~ 10.000 pastas, e a maioria delas tem duas palavras (um nome e um sobrenome) que precisam ser trocadas. Essa é a parte fácil. A parte em que me esforço é identificar programaticamente os nomes das pastas que têm mais de duas palavras, pois o posicionamento do sobrenome precisa ser tratado de forma diferente. Alguma sugestão? Obrigado!

    
por jvbelg 01.01.2017 / 04:32

1 resposta

3

Você pode fazer isso com bastante facilidade com JREN.BAT - um utilitário de renomeação de expressões regulares . O JREN.BAT é um script puro (lote híbrido / JScript) que é executado nativamente em qualquer máquina Windows do XP em diante - não é necessário nenhum arquivo exe de terceiros. A documentação completa está disponível na linha de comando via jren /? ou jren /?? para ajuda paginada.

Você não diz exatamente como quer lidar com os três nomes, então vou fornecer alguns exemplos. Para cada exemplo, eu adiciono a opção /T test mode que simplesmente lista as alterações que seriam feitas. Remova a opção /T e a renomeação realmente ocorrerá. Esses exemplos só renomearão pastas que tenham exatamente 2 ou 3 "palavras".

A B == > B A ou A B C == > C A B

jren "^(\S+)\s*(\s\S+)?\s+(\S+)$" "$3 $1$2" /d /t


A B == > B A ou A B C == > A C B

jren "^(\S+\s)?\s*(\S+)\s+(\S+)$" "$1$3 $2" /d /t

Se o formato de três nomes for totalmente diferente de dois, você pode executar dois comandos separados, um para dois nomes e um para três, ou adicionar a opção /J e colocar o JScript fornecido pelo usuário no argumento replace para obter resultados arbitrariamente complexos.

    
por 01.01.2017 / 14:47