Como renomear múltiplos arquivos em múltiplas pastas com um comando

10

Queremos renomear nossos arquivos *.html para *.php , mas (infelizmente o suficiente) não temos conhecimento suficiente para fazer isso com um comando prompt cmd e / ou arquivo em lote.

O problema é que cada arquivo está em uma pasta separada - e estou falando de mais de 750 nomes de pastas diferentes. Usando curingas para os arquivos que eu conheço é o * mas usar também um curinga para pastas é desconhecido para mim. Provavelmente, precisamos usar o comando FOR (no prompt de comando), mas eu estou preso.

A estrutura de pastas que usamos é:

parent-folder/child-folder/grandchild-folder/file.html

por exemplo:

  • games/A/game_name/file.html
  • games/B/game_name/file.html
  • games/C/game_name/file.html e assim por diante.

A pasta pai é a mesma para todos os arquivos; a criança & As pastas netas são diferentes para a maioria dos arquivos.

Depois de renomear esses arquivos para *.php , presumo que o seguinte no .htaccess fará um redirecionamento permanente.

RedirectMatch 301 (.*)\.html$ http://oursite.com$1.php
    
por Charles 21.03.2012 / 12:00

5 respostas

14

get-childItem -recurse | Where {$_.extension -eq ".html"} | rename-item -newname { $_.name -replace ".html",".php" }

Isso funcionará no PowerShell. Se você tiver o Windows 7 ou o Vista, deverá instalá-lo por padrão. Se você estiver no XP, poderá fazer o download aqui .

    
por 21.03.2012 / 12:12
2

Na linha de comando:

for /f "delims=*" %a in ('dir *.html /b /s') do ren "%a" *.php

Observação: você pode substituir *.html por outro curinga, por exemplo d:\www\*.html .

Nota 2: Se usar o comando dentro de um arquivo de lote, substitua %a por %%a (não me pergunte por quê)

    
por 21.03.2012 / 12:20
1

Usando forfiles, podemos escrever um script para renomear arquivos recursivamente em todas as subpastas.

forfiles /S /M *.html /C "cmd /c rename @file @fname.php"   

Fonte: Script em lote para renomear arquivos em massa

    
por 19.06.2012 / 18:38
0

Renamer flexível é um pequeno programa excelente que irá lidar com vários tipos diferentes de renomear pesquisas / substituições. Aceita expressões regulares e possui padrões comuns predefinidos. Além disso, permite incluir itens em subpastas ou operar nas próprias pastas. Também oferece uma prévia de todas as alterações que serão feitas. Eu tenho usado por anos e recomendo altamente.

link

    
por 21.03.2012 / 14:33
0

TotalCommander: Pesquisa - Enviar para o Painel - Ferramenta Multi-Renomear

    
por 21.03.2012 / 18:40