Você pode usar uma linguagem de script. O PowerShell deve estar na sua caixa do Win7. Aqui está um verso:
PS> get-childitem | foreach { $i++; $new = "name-{0:D3}" -f $i + $_.Extension; rename-item $_ $new } ; $i=0
Aqui, usamos Get-ChildItem
para enumerar o conteúdo do diretório atual. Em seguida, canalizamos os objetos FileInfo resultantes para um ScriptBlock curto, que faz o seguinte:
- Incrementar uma variável do contador
- Crie um novo nome combinando
- uma string formatada, com três dígitos significativos para o contador
- a extensão do arquivo do objeto FileInfo original
- Use
Rename-Item
com o objeto FileInfo original e o novo nome
Esse último item redefine o contador $ i; útil ao experimentar de modo que o primeiro nome de arquivo comece com 1, em vez de um a mais do que o valor final da última vez em que você escreveu o script. (Pergunte-me como eu sei).
Coloque isso junto e veja o que você recebe:
Executado em um diretório com o seguinte conteúdo:
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 10/3/2011 11:45 AM 455 save-times.csv
-a--- 2/23/2012 4:03 PM 553376 save_patch.zip
-a--- 2/1/2012 10:55 AM 131280 user-gp.html
-a--- 6/7/2011 11:58 AM 38557 wks.xml
-a--- 5/23/2011 3:28 PM 16384 xmllint.exe
Eu obtenho o seguinte resultado:
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 10/3/2011 11:45 AM 455 name-001.csv
-a--- 2/23/2012 4:03 PM 553376 name-002.zip
-a--- 2/1/2012 10:55 AM 131280 name-003.html
-a--- 6/7/2011 11:58 AM 38557 name-004.xml
-a--- 5/23/2011 3:28 PM 16384 name-005.exe
Para obter mais informações, consulte os documentos do TechNet sobre Usando o Commandlet Get-ChildItem e Usando o Commandlet Foreach-Object . Continue; experimente!