.bat que me agregue nombre de carpeta que contiene unos archivos

Iniciado por otrebocastillo, 8 Marzo 2020, 04:35 AM

0 Miembros y 1 Visitante están viendo este tema.

otrebocastillo

Hola amigos alguien me podría ayudar con los comandos de DOS, par poder realizar la siguiente tarea con un .bat

Tengo la carpeta 55 con la siguiente ubicación:

d:\55
y dentro de ella los siguientes archivos:
asd 252567.txt
dfg 475898.txt
tyu 127898.txt
lop 696948.txt

Lo que haría mi .bat es agregar a cada archivo que se
encuentra en la carpeta "NN" en este caso 55, asignarle este
numero al final de cada archivo

seria este el resultado

asd 252567.txt 55
dfg 475898.txt 55
tyu 127898.txt 55
lop 696948.txt 55


Agradezco quien me pueda orientar

Un fuerte abrazo!

EdePC

Saludos,

- El comando Ren es muy flexible y acepta comodines:

CitarD:\55>dir

Directorio de D:\55

08/03/2020  07:47 a.m.    <DIR>          .
08/03/2020  07:47 a.m.    <DIR>          ..
08/03/2020  07:47 a.m.                 3 asd 252567.txt
08/03/2020  07:47 a.m.                 3 dfg 475898.txt
08/03/2020  07:47 a.m.                 3 lop 696948.txt
08/03/2020  07:47 a.m.                 3 tyu 127898.txt
               4 archivos             12 bytes
               2 dirs  107,230,031,872 bytes libres

D:\55>ren * "*.* 55"

D:\55>dir


Directorio de D:\55

08/03/2020  07:48 a.m.    <DIR>          .
08/03/2020  07:48 a.m.    <DIR>          ..
08/03/2020  07:47 a.m.                 3 asd 252567.txt 55
08/03/2020  07:47 a.m.                 3 dfg 475898.txt 55
08/03/2020  07:47 a.m.                 3 lop 696948.txt 55
08/03/2020  07:47 a.m.                 3 tyu 127898.txt 55
               4 archivos             12 bytes
               2 dirs  107,230,031,872 bytes libres

D:\55>

otrebocastillo

Perfecto, era lo que buscaba.

Te agradezco.

Me queda una duda si ese 55 del ejemplo lo necesito como prefijo me refiero que sea el q inicie el nombre del archivo,  El Ren me puede ayudar, lo intento pero me reemplaza los primeros caracteres.

Un saludo!

EdePC

- Otra opción más elaborada es utilizar For:

CitarD:\55>Dir /B
asd 252567.txt
dfg 475898.txt
lop 696948.txt
tyu 127898.txt

D:\55>For %a In (*) Do Ren "%a" "55 %a"

D:\55>Dir /B
55 asd 252567.txt
55 dfg 475898.txt
55 lop 696948.txt
55 tyu 127898.txt

D:\55>

- Si vas a usar un archivo Batch (.cmd o .bat) para ejecutar el For recuerda usar doble %%:

Código (dos) [Seleccionar]
For %%a In (*) Do Ren "%%a" "55 %%a"

otrebocastillo

   Muchas gracias. De gran utilidad tu ayuda y esa aclaración del "doble %%" Me rompería la cabeza si no me lo aclaras. Creé mis .bat con mas de 70 líneas cada uno y andan perfecto.

Un fuerte abrazo!

;-) ;-) ;-)