Ms-Dos - ¡¡Ayuda¡¡¡ Batch para renombrar fichero

 
Vista:

¡¡Ayuda¡¡¡ Batch para renombrar fichero

Publicado por Juanmi (1 intervención) el 11/07/2006 14:14:47
Hola, agradeceria ayuda para creaar un batch q haga lo siguiente.

Los archivos existente en la carpeta son de ste formato:

Año_QEstudio_numero.txt (ejem: 2006_QEstudio01.txt 2005_QEstudio23.txt)

El Bat q no logro hacer, quiero q renombre el archivo cambiando la palabra "Estudio" por otra q introduzcamos justo al iniciar el bat. Pero q solo lo cambie a los de determinado año.

Ejemplo : introducimos al ejecutar el bat:

2005_QEstadistico

El resultado seria q todos los archivos del año 2005, pasarian de llamarse 2005_QEstudio01.txt a 2005_QEstadistico01.txt

Gracias de antemano
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

RE:¡¡Ayuda¡¡¡ Batch para renombrar fichero

Publicado por Antoni Masana (295 intervenciones) el 12/07/2006 08:32:06
Hola Juanmi

Esto funciona con Windows XP el ejemplo son dos BATs pero se puede hacer en uno solo.

Crear en un directorio vacio el fichero RUN.BAT

@ echo off

IF "%2" == "" goto Fin

for %%t in (1 2 3 4 5 6 7 8 9) do ECHO. AAA >%1_QEstudio0%%t.txt
echo.
dir %1*.* /B
pause
echo.

for %%a in (%1_*.*) do call run_2 %%a %2
echo.
dir %1*.* /B
pause
echo.

:Fin

Crea en el mismo directorio el fichero RUN_2.BAT

@echo off

:AAAA_QEstudioXX.txt
:0----+----1----+----2

set file=%1
set INI=%file:~0,6%
set FIN=%file:~13,25%

REN %INI%Estudio%FIN% %INI%%2%FIN%


Y ejecuta:

RUN 2005 Estadistica

El resultado tendria que ser algo asi:

C:\Tmp\pp>run 2005 Estadisticas

2005_QEstudio01.txt
2005_QEstudio02.txt
2005_QEstudio03.txt
2005_QEstudio04.txt
2005_QEstudio05.txt
2005_QEstudio06.txt
2005_QEstudio07.txt
2005_QEstudio08.txt
2005_QEstudio09.txt
Presione una tecla para continuar . . .

2005_QEstadisticas01.txt
2005_QEstadisticas02.txt
2005_QEstadisticas03.txt
2005_QEstadisticas04.txt
2005_QEstadisticas05.txt
2005_QEstadisticas06.txt
2005_QEstadisticas07.txt
2005_QEstadisticas08.txt
2005_QEstadisticas09.txt
Presione una tecla para continuar . . .

Un Saludo desde Barcelona España
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

Batch para renombrar un archivo

Publicado por Jorge Moya (1 intervención) el 26/11/2008 05:29:12
Hola,
Cada día se genera un archivo que tiene el siguiente formato EEEEDDDS.AAo, donde EEEE es un nombre de 4 letras, DDD es el número del día correlativo (por ejemplo el 1º de enero es el 001, el 2 es el 002, así sucesivamente), D vale 0 y AA son lo s dos dígitos de año. Por ejemplo para el 1º de enero de 2008, el archivo se llama EEEE0010.08o.

Después de correrle un programa de análisis de su información, el archivo se renombra automáticamente a EEEE. La pregunta es ¿cómo lo puedo volver a renombrar con el nombre original (EEEE0010.08o) ya que el nombre cambia todos lo días?. Lo quiero hacer en un batch.

Gracias de antemano

Saludos

Jorge Moya
Costa Rica
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

RE:Batch para renombrar un archivo

Publicado por amparitohijo (94 intervenciones) el 26/11/2008 09:43:19
Buenos días, Jorge.

¿El programa de análisis es en .net o VB o no tienes ni idea? Simplemente es un .EXE que se ejecuta con una tarea programada, ¿no es así?

Lo que puedes hacer es lo siguiente (para no complicarte modificando los fuentes del programa, que además sospecho que no los tienes).

En la tarea programada del programa de análisis, en vez de arrancar directamente el .EXE, haz un bat que lo llame. Por ejemplo:

Supongamos que el programa de análisis se llama prog.exe. En la tarea programada (o la DTS o el job o lo que sea) llama a "prog.exe"

Crea un .BAT con el siguiente contenido:
@ECHO Off
FOR /F "tokens=1" %%a in ('dir /b EEEE???0.??o') DO (SET NombArch=%%a)
CALL Prog.EXE
REN EEEE. %%a
EXIT

Pruébalo, que supongo que te valdrá. Así no te complicas la vida demasiado. Si te funciona o no, ya nos lo contarás.

Salu2
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