Ho più file mp3 in questo modo:
Track [number of track].mp3
per esempio. Track 1.mp3
-Track 11.mp3
Voglio rinominarli in:
T00[number of track]
per esempio. T001.mp3
-T011.mp3
Ho provato a rinominare 1-9 tracce con questo:
ren "Track ?.mp3" "T00 ?.mp3"
ma ho spazio nel nome file ( T00 1.mp3
)
Aggiornamento: sto cercando di scrivere il codice per rimuovere lo spazio, questo è il mio codice
@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%"
)
Il messaggio che ho ricevuto è:
-----------------------In loop----------------------------
working with "C:\test\T00 1.mp3"
str = ""
2str = ""
A duplicate file name exists, or the file
cannot be found.
.
.
.
Non so cosa sbaglio, questa è la prima volta che utilizzo Batch Script
help setlocal
(o setlocal /?
) e provare a capire cosa setlocal enabledelayedexpansion
significa. Quindi capire se ha senso usare !str!
invece di %str%
. Un consiglio più generale è che non dovresti lasciare che uno script faccia qualcosa fino a quando non hai eseguito il debug della logica, quindi sai che farà la cosa giusta. Ad esempio, sostituire ren …
con echo ren …
.