Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: khaos91 en 5 Octubre 2010, 22:14 pm



Título: Scripting batch; copiar archivos automaticamente
Publicado por: khaos91 en 5 Octubre 2010, 22:14 pm
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.


Título: Re: Scripting batch; copiar archivos automaticamente
Publicado por: SnakingMax en 5 Octubre 2010, 22:52 pm
para esperar entre copia y copia utiliza sleep
y para copiar la carpeta usa cp

saludos


Título: Re: Scripting batch; copiar archivos automaticamente
Publicado por: -=[ §ÂßÂÑÐØ ]=- en 5 Octubre 2010, 22:55 pm
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!!!


Título: Re: Scripting batch; copiar archivos automaticamente
Publicado por: khaos91 en 5 Octubre 2010, 22:56 pm
gracias!! :D

me pondre manos a la obra :P


Título: Re: Scripting batch; copiar archivos automaticamente
Publicado por: Darioxhcx en 5 Octubre 2010, 22:56 pm
mejor seria usar AT para crear una area programada sumandoles 2 horas al tiempo
:3


Título: Re: Scripting batch; copiar archivos automaticamente
Publicado por: flony en 5 Octubre 2010, 23:17 pm
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  ;-)


Título: Re: Scripting batch; copiar archivos automaticamente
Publicado por: khaos91 en 5 Octubre 2010, 23:20 pm
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 >.<


Título: Re: Scripting batch; copiar archivos automaticamente
Publicado por: khaos91 en 5 Octubre 2010, 23:24 pm
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.


Título: Re: Scripting batch; copiar archivos automaticamente
Publicado por: flony en 5 Octubre 2010, 23:24 pm
fijate que te da
Código:
time /t
en la consola sola

Citar
Extracció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
Código:
at 


Título: Re: Scripting batch; copiar archivos automaticamente
Publicado por: WestOn en 5 Octubre 2010, 23:26 pm
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.


Título: Re: Scripting batch; copiar archivos automaticamente
Publicado por: flony en 5 Octubre 2010, 23:28 pm
con el comando at tambien pero no se si arranca cada hora solo ese comando
necesitas si o si meterle vos la hora info de la
Citar
http://ss64.com/nt/schtasks.html


Título: Re: Scripting batch; copiar archivos automaticamente
Publicado por: WestOn en 5 Octubre 2010, 23:48 pm
Citar
http://ss64.com/nt/schtasks.html
:huh:
Citar
Inicio>ejecutar>cmd>schtasks /?
Hay ejemplos por la red, incluso automatizados para dartelo hecho sin ninguna dificultad.

Saludos.


Título: Re: Scripting batch; copiar archivos automaticamente
Publicado por: leogtz en 6 Octubre 2010, 01:47 am
La mejor solución es "schtasks".

@SnakingMax

El comando "cp" es propio de Unix/Linux, no de Windows.