Scripting batch; copiar archivos automaticamente

Iniciado por khaos91, 5 Octubre 2010, 22:14 PM

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

khaos91

Hola.
Me gustaría saber si es posible hacer un script en batch que copiara una carpeta a otra ruta automaticamente cada hora o cada 2 horas por ejemplo. Gracias

saludos.

SnakingMax

para esperar entre copia y copia utiliza sleep
y para copiar la carpeta usa cp

saludos

-=[ §ÂßÂÑÐØ ]=-

Fijate utilizando la opcion /Q para copiar de forma oculta. (silent mode o quiet mode)

Ej: XCopy C:\Algo D:\Algo /Q

Suerte.

También podés utilizar esta simpática aplicación:

http://www.2brightsparks.com/assets/software/SyncBack_Setup_ES.zip

Está muy buena!!!
SALUDOS DE -=[ §AßAÑÐØ ]=-






khaos91


Darioxhcx

mejor seria usar AT para crear una area programada sumandoles 2 horas al tiempo
:3

flony

no se hace la tarea pone el codigo y de ahi partimos si necesitas los comandos son una opcion no se si la mejor (time set at copy exit) con extraccion de caracteres
si mñn pones algo te doy mi code terminado o mejoramos el tuyo  ;D
si q la gente ayuda por aca jajajaja  ;-)
si un problema no tiene solucion entonces no es un problema...es algo inevitable

khaos91

Esque se que es
xcopy C:\Ruta_origen C:\Ruta_destino

pero lo que no se es como hacerlo que funcione cada hora automaticamente sin ejecutarlo. pense que hacer script con ping 127.0.0.1 -n Tiempo
y desde que el script de copiar hacer un call. pero estamos en las mismas. un VPS no estaria mal >.<

khaos91

Si hago bucle al comando ping. y luego el .bat lo paso a .exe con redbinder i le pongo para que se ejecute al iniciar windows, eso funcionaria? si no se cierra el .exe el script teoricamente deberia funcionar.

flony

#8
fijate que te da time /t en la consola sola

CitarExtracción de carácteres:


Bien esta es una parte muy interesante, nos permita obtener "trozos" de variables llamados subcadenas, existen varias formas para ello, siendo la principal:
Código:
SET VariableResultado=%VariableOriginal:~m,n%

Almacena en la VariableResult ado la subcadena que existen en la VariableOrigin al desde la posición "m" durante "n" caracteres.

Ejemplo:
Código:
SET VAR=123456789
SET RES=%VAR:~3,2%
ECHO %RES%

Mostraría por pantalla:
45 (los dos caracteres a partir del tercero)

Como en la sustitución de caracteres, la VariableResult ado y la VariableOrigin al pueden ser las mismas.

Si "m" o "n" son iguales a 0 pueden omitirse, por ejemplo:
Código:
SET VAR=123456789
SET RES1=%VAR:~,5%
SET RES2=%VAR:~0,5%
IF %RES1%==%RES2% ECHO Funciona
ECHO %RES1%=%RES2%

Mostraría por pantalla, "Funciona" y después:
12345=12345

Lo mismo con el siguiente code:
Código:
SET VAR=123456789
:: Lo siguiente significa extraer a partir del caracter 5º hasta el final
SET RES1=%VAR:~5%
SET RES2=%VAR:~5,4%
IF %RES1%==%RES2% ECHO Funciona
ECHO %RES1%=%RES2%

Mostraría primero por pantalla "Funciona" y después:
6789=6789

Estos métodos abreviados son útiles para cuando no conocemos el numero de caracteres de la variable, sobre todo el 2º, ya que si queremos extraer los 3 últimos caracteres pero no sabemos a partir del cual seria eso no lo podríamos hacer.

Ejemplos bastante usados:
Código:
SET DIA=%DATE:~,2%
SET MES=%DATE:~3,2%
SET AÑO=%DATE:~6%

Lo mismo para sacar las horas, minutos y segundos de la variable %TIME%, etc...

Fin de la 1º Clase, si tenéis dudas posteralas que las resolveré, si tenéis criticas ponerlas también.
despues mete el comando at
si un problema no tiene solucion entonces no es un problema...es algo inevitable

WestOn

No necesitas hacer nada, los .bat se pueden ejecutar al inicio del sistema sin problemas.
Usa schtasks para que se inicie al inicio, ademas tambien puedes programar que se ejecute cada 1 hora con el mismo comando.

Inicio>ejecutar>cmd>schtasks /?

Saludos! :)

Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.