Como faço para remover os mesmos caracteres de um nome de arquivo para muitos arquivos em uma pasta no Windows 7
Por exemplo: o nome do arquivo é 123456789abcdefghij.pdf como posso remover caracteres abcdefghij
Responder1
Podemos tentar usar a ferramenta Windows PowerShell.
O comando completo:
get-childitem *.pdf | foreach { renomear item $_ $_.Name.Replace("abcdefghij", "") }
Analise o comando:
get-childitem *.pdf
Isso lista todos os arquivos cujos nomes terminam com.pdf. Eles são então canalizados para o próximo comando com o|operador.
foreach { renomear item $_ $_.Name.Replace("abcdefghij", "") }
Isso substitui todas as instâncias deabcdefghijsem nada, denotado por"", limpando efetivamente a palavra de todos os arquivos do diretório.
Também podemos modificarget-childitem *.pdfparaget-childitem– isso renomearia todos os arquivos no diretório, não apenas os arquivos cujos nomes terminam com.pdf.
Responder2
Você pode usar o Powershell para tarefas como esta.
Get-Item .\*.pdf | Rename-Item -NewName { $($_.BaseName -replace "\D+","") + $_.Extension }
O comandoGet-Item .\*.pdf
obtém todos os arquivos PDFno diretório atual epassa por elesum por um paraRename-Item
comando (não há necessidade de um loop Foreach).
Em $_.BaseName -replace "\D+",""
usamos um simplesexpressão regularpara remover todos os caracteres não numéricos ( \D+
) do nome do arquivo, mas não da extensão. A saída do {...}
bloco de código é a entrada do -NewName
parâmetro.