Ms-Dos - Renombrar archivos segun nombre carpeta

 
Vista:

Renombrar archivos segun nombre carpeta

Publicado por Avrack (6 intervenciones) el 07/10/2022 06:41:05
Hola, quisiera si me ayudan a crear un bath para renombrar archivos que estan dentro de carpetas

Por ejemplo tengo 2000 carpetas con el formato CPI_00001, CPI_00002 y asi y dentro fotos enumeradas

Necesito renombrar todos los archivos dentro de ella al nombre de la carpeta con un identificador, por ejemplo CPI_00001_001.TIF CPI_00001_002.TIF etc

Y eso para cada carpeta

Ojala puedan ayudarme y si se puedieran crear subcarpetas con la mismq base del nombre de cada carpeta seria mekor

Graciaa
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Renombrar archivos segun nombre carpeta

Publicado por Antoni Masana (811 intervenciones) el 07/10/2022 14:23:17
Este BAT debes ejecutarlo UNA sola vez desde la carpeta que cuelgan todas las CPI_*.
Crea un entorno de prueba con dos carpetas, 2 o 3 ficheros en cada carpeta para probar el BAT.

1
2
3
4
5
6
@echo off
for /d %%a in (CPI_?????) do (
    cd %%a
    for %%b in (???.TFI) do ren %%b %%a_%%b
    cd ..
    )

Toma 5 cifres después del CPI_ para el directorio y 3 cifras antes de la extensión .TFI para los nombres de fichero.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Renombrar archivos segun nombre carpeta

Publicado por Avrack (6 intervenciones) el 07/10/2022 15:10:48
Hola, gracias por tu respuesta, probare y te cuento

te molesto un poco, podrías explicarme para ir entendiendo que hace las lineas, ya que hace demasiado aprendi algo de msdos y o recuerdo mucho

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Renombrar archivos segun nombre carpeta

Publicado por Antoni Masana (811 intervenciones) el 07/10/2022 17:30:28
Te explico:

1
2
3
4
5
6
7
8
9
10
11
12
13
@echo off                                     # -- No muestra la lineas del BAT
for /d %%a in (CPI_?????) do (                # -- Devuelve los directorios que coinciden con la mascara
    cd %%a                                    # -- Cambia al directorio
    for %%b in (???.TFI) do ren %%b %%a_%%b   # -- Busca todos los ficheros que coinciden con la mascara
    cd ..                                     # -- Vuelve a directorio padre
    )                                         # -- Fin de los comandos que ejecuta el primer FOR
 
Para mas información sobre un comando usar el parámetro /?
 
FOR  /?
echo /?
cd   /?
ren  /?

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Renombrar archivos segun nombre carpeta

Publicado por Avrack (6 intervenciones) el 07/10/2022 17:42:51
GRACIAS....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Renombrar archivos segun nombre carpeta

Publicado por Avrack (6 intervenciones) el 09/10/2022 04:46:54
hola, gracias por la ayuda, al final quedo asi

@echo off


for /d %%a in (C_GDEI_?????) do (
cd %%a
for %%b in (AD_0*.TIF) do ren %%b %%a_001.TIF
cd ..
)


pero cuando tiene mas de un archivo tif, solo me transforma el primero de todos los tif

me imagino que es por que tengo mal puesto el nombre del renombre ya que necesito que los archivos se llamen como la carpeta +_001.tif y el segundo _002.tif ....

podrian ayudarme con eso
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Renombrar archivos segun nombre carpeta

Publicado por Antoni Masana (811 intervenciones) el 10/10/2022 15:52:52
Este seria el BAT

1
2
3
4
5
6
7
8
9
10
11
setlocal enableextensions enabledelayedexpansion
for /d %%a in (C_GDEI_?????) do (
    cd %%a
    set Num=1000
    for %%b in (AD_0*.TIF) do (
        set /a num+=1
        ren %%b %%a_!Num:~1,3!.TIF
        )
    cd ..
    )
endlocal

Antes de ejecutar el BAT:

1
2
3
4
5
6
7
8
9
C:.
+---C_GDEI_00001
|          AD_00010.TIF
|          AD_00015.TIF
|          AD_00020.TIF
+---C_GDEI_00001
|          AD_00110.TIF
|          AD_00115.TIF
|          AD_00120.TIF

Después de ejecutar el BAT:

1
2
3
4
5
6
7
8
9
C:.
+---C_GDEI_00001
|          C_GDEI_00001_001.TIF
|          C_GDEI_00001_002.TIF
|          C_GDEI_00001_003.TIF
+---C_GDEI_00002
|          C_GDEI_00002_001.TIF
|          C_GDEI_00002_002.TIF
|          C_GDEI_00002_003.TIF

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Renombrar archivos segun nombre carpeta

Publicado por Avrack (6 intervenciones) el 11/10/2022 15:54:41
Gracias, voy entendiendo la logica, me falta aprender un poco mas de las variables como eso !Num:~1,3!

donde podria ver bien esos de las variables

saludos y nuevamente gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar