Ms-Dos - REEMPLAZOS

 
Vista:

REEMPLAZOS

Publicado por aDRIANA (2 intervenciones) el 28/10/2008 22:44:49
hola a todos

Solicito su ayuda para poder soluconar un problmea que tengo, respaldo informacion de manera diaria en el cual tengo programada una tarea que corre cada 5 minutos realizandolo, ahora bien el problema surge que cuando hay un documento con el mismo nombre y ya lo he respaldado me lo reemplaza debido a que asi lo tengo en el bat.
Mi pregunta es hay alguna forma de que si el archivo ya se existe, que automaticamente le ponga algo de mas.
ejemplo:

tengo en una carpeta c:\documentos*.* los copio a d:\respaldos

si juana.doc ya se habia copiado en lugar que se reemplaze que automaticamente se llame juana1.doc y si por alguna razon ya se vuelve a guardar o modificar con el mismo nombre juana automaticamente se llame juana3

saludos y confio que me puedan ayudar
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:REEMPLAZOS

Publicado por Antoni Masana (295 intervenciones) el 29/10/2008 20:24:59
Se puede hacer de varias formas pero hacerlo desde un BAT la forma mas simple es añadir el contador al inicio o al final del nombre.

Por ejemplo:

Documento,doc -> 1.Documento.doc
o
Documento.doc -> Documento.doc.1

Para hacerlo como deseas en primer lugar debes separar el nombre de la extensión esto en si ya es un gran dilema.

Esto tienes varios problemas para hacerlo SOLO con comandos MS-DOS que son:
Nombres con espacios --> Juana Gomez.doc
Con más de un punto --> Juana.Informe.doc

Si no te importa usar algun comando externo como por ejemplo la AWK (que es un comando de unix para MS-DOs) te puede servir para montar el nuevo nombre, la cosa es más facil.

Mañana más

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

RE:REEMPLAZOS

Publicado por adriana (2 intervenciones) el 01/11/2008 01:31:30
NO pude realizarlo, ojala pudieran colocarme un ejemplo

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

RE:REEMPLAZOS

Publicado por Armando Nava  (194 intervenciones) el 01/11/2008 20:03:40
Saludos

Tengo una solución, la cual implica anteponer la hora del sistema a tus archivos en el formato HHMM.

Son dos archivos COPIA.BAT te genera la lista del directorio que quires respaldar, luego llama a CHECA.BAT quien recibe como parámetro el nombre del archivo, crea un prefijo y hace la copia.

COPIA.BAT
-----------------------------------------
dir /B *.txt>lista.dat
FOR /F "tokens=1" %%a in (lista.dat) DO call checa.bat %%a
del lista.dat
----------------------------------------

CHECA.BAT
---------------------------------------
SET /A HORA=%TIME:~0,2%
SET /A MINUTO=%TIME:~3,2%
SET /A m_max=%TIME:~3,1%
SET /A m_min=%TIME:~4,1%

if %m_max% EQU 0 SET /A PRE=%HORA%0%M_min%
if %m_max% NEQ 0 SET /A PRE=%HORA%%MINUTO%

IF EXIST D: espaldo\%1 (copy %1 D: espaldo\%PRE%%1 )
IF NOT EXIST D: espaldo\%1 (copy %1 D: espaldo\%1 )
---------------------------------------

Si tus respaldos los corres cada 5 mimutos entonces no habra problema, de lo contrario deberas añadir en el prefijo el segundo.
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:REEMPLAZOS

Publicado por adriana (1 intervención) el 16/12/2008 02:21:13
Antoni hay manera de que me puedas colocar una muestra de como quedaria el bat con un contador com mnecionas los nombres que uso no tienen espacios ni puntos.

armando el dato que me proporcioanste no me funciono....

saludos a los dos

pd. no habia podido contestarle antes ya que estaba de vacaciones
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