Suppongo che tu conosca la lunghezza della parte prima dello _
e dopo il trattino basso, nonché l'estensione. In caso contrario, potrebbe essere più complesso di una sottostringa semplice.
cd C:\path\to\the\files
for /f %%a IN ('dir /b *.jpg') do (
set p=%a:~0,3%
set q=%a:~4,4%
set b=%p_%q.jpg
ren %a %b
)
Mi sono appena inventato questo script e non l'ho provato. Controlla this e that per maggiori informazioni.
SE si desidera assumere non si conoscono le posizioni del _
e le lunghezze e l'estensione, credo che si possa fare qualcosa con cicli for per controllare l'indice del _
, poi l'ultimo indice del .
, avvolgilo in una cosa goto
e fallo funzionare. Se sei disposto a risolvere questo problema, ti suggerisco di usare almeno WindowsPowerShell (o Cygwin) (per il tuo bene) o di installare un linguaggio di scripting più avanzato (pensa Python/Perl) avrai più supporto modo.
Questo è esattamente ciò di cui ho bisogno. Grazie!! – yuchien
ancora un problema minore: scambia anche ".jpg". Ex. part1_part2.jpg => part2.jpg_part1 Orz – yuchien
@ raphael0914 - ??? Funziona perfettamente per me: part1_part2.jpg -> part2_part1.jpg – dbenham