Eu tenho vários arquivos mp3 como este:
Track [number of track].mp3
por exemplo. Track 1.mp3
-Track 11.mp3
Quero renomeá-los para:
T00[number of track]
por exemplo. T001.mp3
-T011.mp3
Tentei renomear de 1 a 9 faixas com isto:
ren "Track ?.mp3" "T00 ?.mp3"
mas consegui espaço no nome do arquivo ( T00 1.mp3
)
Atualização: estou tentando escrever o código para remover espaço, este é o meu código
@echo off
setlocal enabledelayedexpansion
for /r %%G in ("T00 ?.mp3") do (
pause
echo -----------------------In loop----------------------------
echo Working with "%%G"
pause
set str=%%G
echo str is = "%str%"
pause
set str=%str: =0% //replace " " with 0
echo 2str is = "%str%"
pause
ren "%%~G" "%str%"
)
A mensagem que recebi é:
-----------------------In loop----------------------------
working with "C:\test\T00 1.mp3"
str = ""
2str = ""
A duplicate file name exists, or the file
cannot be found.
.
.
.
Não sei o que estou errado, esta é a primeira vez que uso o Batch Script
Responder1
Usando o PowerShell comSubstituição de RegexeCadeia de caracteres de formato
$strPath = "C:\my\folder\*.mp3"
Get-Childitem $strPath | ForEach-Object {
$onlyNumbers = $_.Basename -replace ".*\D+",""
$WithZeros = "{0:D3}" -f [int]$onlyNumbers
$fileName = "T$WithZeros.mp3"
Rename-Item $_ $fileName
}
As partes principais são -replace "^\D+",""
pesquisar todos os não dígitos desde o início do nome do arquivo (mas sem a extensão) e removê-los. Segundo, o script anexa quantos zeros forem necessários com "{0:D3}" -f
. Descansar é algo fácil.
Lerambos vinculadofontes se você quiser saber mais.
Old name New name
Track 1.mp3 T001.mp3
Track 11.mp3 T011.mp3
Track 111.mp3 T111.mp3
Editar:Corrigido pequeno erro RegEx. Antes 99 ballons 01.mp3
se torna T9901.mp3
.
Agora é01 » 001 » T001.mp3
Responder2
Se quiser usar Linux ou Mac OSX para resolver seu problema, você pode fazer:
count=1
for i in $(ls -v); do
number=$(printf "%05d" $count)
((count++))
mv $i T00$number.mp3
done
Eu testei em 25 arquivos que criei anteriormente com este comando
for ((i=1; i<=25; i++)); do touch "Track $i.mp3"; done
Responder3
Se isso ajudar, o Total Commander (Windows) possui uma ótima ferramenta de renomeação múltipla (selecione os arquivos desejados e depois Ctrl + M).