Seleccionando una sola carpeta que podría ejecutar
ren *.jpeg *.png
Tengo varias carpetas. Quiero crear un archivo por lotes que recorrerá todas las carpetas y cambiará el nombre de los archivos que contiene.
Por ejemplo tengo carpetas TEST1 y TEST2 dentro del directorio raíz TEST. Quiero crear un lote que cambie el nombre de todos los .jpeg archivos dentro de TEST1 y TEST2 a .png.
FOR /R "E:\TEST\" %%G in (*.jpeg) DO ren *.jpeg *.png
Estoy recibiendo un error:
El sistema no puede encontrar el archivo especificado
No entiendo el problema.
windows
rename
batch-file
batch-rename
user839765
fuente
fuente

Respuestas:
No estás aplicando el
forcomando a larenacción.Necesitas cambiar
%%a%si está haciendo esto de forma interactiva, y no en un archivo por lotes.los
~Se eliminan las comillas, que se vuelven a agregar, para evitar posibles errores con las rutas que contienen espacios.fuente
O, si quieres una línea un poco más corta, aquí tienes cómo hacerlo con una combinación de
RENmando y elGLOBALmando en JP Software's TCC / LE :Utilizar
GLOBALes/Iopción si desea ignorar cualquier código de salida que no sea cero de laRENcomando, por supuesto.fuente
Una solución completa está abajo.
Establecer las variables en la sección "variables":
fuente
%PATH%?%SystemDrive%Si querías la unidad del sistema por cualquier motivo.