A partir de Windows 7 puede hacerlo en una línea de PowerShell.
powershell -C "gci | % {rni $_.Name ($_.Name -replace '120x90', '67x100')}"
Explicación
powershell -C "..."
lanza una sesión de PowerShell para ejecutar el comando citado. Vuelve a la capa exterior cuando se completa el comando. -C
es la abreviatura de -Command
.
gci
devuelve todos los archivos en el directorio actual. Es un alias para Get-ChildItem
.
| % {...}
hace una tubería para procesar cada archivo. %
es un alias para Foreach-Object
.
$_.Name
es el nombre del archivo actual en la tubería.
($_.Name -replace '120x90', '67x100')
utiliza el operador -replace
para crear el nuevo nombre de archivo. Cada aparición de la primera subcadena se reemplaza con la segunda subcadena.
rni
cambia el nombre de cada archivo. El primer parámetro (llamado -Path
) identifica el archivo. El segundo parámetro (llamado -NewName
) especifica el nuevo nombre. rni
es un alias para Rename-Item.
Ejemplo
$ dir
Volume in drive C has no label.
Volume Serial Number is A817-E7CA
Directory of C:\fakedir\test
11/09/2013 16:57 <DIR> .
11/09/2013 16:57 <DIR> ..
11/09/2013 16:56 0 750_MOT_Forgiving_120x90.jpg
11/09/2013 16:57 0 751_MOT_Persecution_1_120x90.jpg
11/09/2013 16:57 0 752_MOT_Persecution_2_120x90.jpg
3 File(s) 0 bytes
2 Dir(s) 243,816,271,872 bytes free
$ powershell -C "gci | % {rni $_.Name ($_.Name -replace '120x90', '67x100')}"
$ dir
Volume in drive C has no label.
Volume Serial Number is A817-E7CA
Directory of C:\fakedir\test
11/09/2013 16:57 <DIR> .
11/09/2013 16:57 <DIR> ..
11/09/2013 16:56 0 750_MOT_Forgiving_67x100.jpg
11/09/2013 16:57 0 751_MOT_Persecution_1_67x100.jpg
11/09/2013 16:57 0 752_MOT_Persecution_2_67x100.jpg
3 File(s) 0 bytes
2 Dir(s) 243,816,271,872 bytes free
ventanas y todo lo que se ejecuta en un .bat o .cmd? – Blainer
Amigo, si quieres ayuda no puedes esperar que todos sean psíquicos. –