batch file - varios - Cómo cambiar por lotes las extensiones de archivo dentro de las subcarpetas
renombrar carpetas masivamente cmd (1)
Si entiendo correctamente que solo desea cambiar el nombre de los archivos de .png
a .jpg
y no convertirlos, puede usar el siguiente código de lote:
@ECHO OFF
PUSHD .
FOR /R %%d IN (.) DO (
cd "%%d"
IF EXIST *.png (
REN *.png *.jpg
)
)
POPD
Actualización: encontré una mejor solución aquí que puede ejecutar directamente desde la línea de comandos (use %%f
en lugar de %f
si usa esto dentro de un archivo por lotes):
FOR /R %f IN (*.png) DO REN "%f" *.jpg
Tenga en cuenta que lo anterior procesará el directorio actual y sus subdirectorios. Si es necesario, puede especificar un directorio arbitrario como raíz, como este:
FOR /R "D:/path/to/PNGs" %f IN (*.png) DO REN "%f" *.jpg
Esta pregunta ya tiene una respuesta aquí:
- Cambiar el nombre de los archivos en los subdirectorios 15 respuestas
Soy nuevo en Command Prompt y solo comencé a usarlo desde hace 1 día.
Tengo una carpeta en una ubicación, por ejemplo C:/Users/Administrator/Desktop/Images
, y dentro de esa carpeta hay aproximadamente 650 subcarpetas, cada una contiene alrededor de 20 imágenes, una mezcla de JPG y PNG. Estoy buscando una línea de comandos para CMD que pasará por todas las subcarpetas y cambiará cada archivo .png
en un archivo .jpg
.
Investigué un poco y encontré información, pero es muy difícil de seguir y comprender, y todavía no puedo hacerlo. Deseo mantener los nombres de los archivos, sin embargo, cambie cada extensión de archivo de .png
a .jpg
.
Entiendo que para 1 carpeta, la línea es algo así como ren *.png *.jpg
. Sin embargo, esto no aplica los cambios a las subcarpetas.