elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  bat reenvio de archivos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: bat reenvio de archivos  (Leído 5,131 veces)
bela lugosi

Desconectado Desconectado

Mensajes: 8


Ver Perfil
bat reenvio de archivos
« en: 20 Agosto 2013, 08:59 am »

Hola

me gustaría saber si hay alguna forma de hacer un script, para enviar cada archivo que se almacene en una carpeta sin pulsar ningún script.

me explico,  tengo un escaner usb y quiero que cada vez escanee una imagen que me la reenvie automaticamente (sin necesidad de pulsar con el ratón un script) a otra carpeta del pc.


¿existe?

si me podeís ayudar os lo agradecería, un saludo.


En línea

Stakewinner00


Desconectado Desconectado

Mensajes: 1.426



Ver Perfil WWW
Re: bat reenvio de archivos
« Respuesta #1 en: 20 Agosto 2013, 10:39 am »

simplemente tienes que hacer un bucle infinito donde cada x tiempo compruebe si la carpeta esta vacía y si no lo esta que mueva su contenido a la otra carpeta.



En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.822



Ver Perfil
Re: bat reenvio de archivos
« Respuesta #2 en: 20 Agosto 2013, 11:28 am »

...O bien puedes usar software profesional -> Directory Monitor

Saludos
En línea

bela lugosi

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: bat reenvio de archivos
« Respuesta #3 en: 20 Agosto 2013, 14:56 pm »


Pensé que con un simple .bat sería suficiente, existe alternativa al programa 'Direcotry monitor'.

Tengo un script que renombra los jpg con fecha/hora y mueve de 'unidad scaner usb'  a un directorio de c, pero necesito que se haga automático, no quiero pulsar 'botón script'. Quiero que al escanear la imagen la propia script verifique que hay un archivo jpg -- renombre y mueva a otra carpeta.

Tengo esta parte de código, ahora solo me hace falta que lo haga solo :D
escanear y olvidarse

Código:
@echo off
 
For %%F in (".\*.jpg") Do (
     Call Ren "%%~fF" "%%date:/=-%%, %%time::=.%%.jpg"
     Call :Sleep 5 & REM Milliseconds
move IMG_****.jpg "C:\archivo\"
)
« Última modificación: 20 Agosto 2013, 17:19 pm por bela lugosi » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.822



Ver Perfil
Re: bat reenvio de archivos
« Respuesta #4 en: 20 Agosto 2013, 20:45 pm »

Arriba ya te han comentado lo que debes hacer, pero además yo te lo he puesto más fácil con Directoy monitor que precísamente esa es su función, monitorizar los cambios en un directorio y ejecutar un script o una acción a realizar.

Te escribo un ejemplo de como hacerlo usando Batch:
Código
  1. @Echo OFF
  2.  
  3. :Monitor_Loop
  4.  
  5. If Exist "%TEMP%\FileList.tmp" (
  6.  
  7.   Dir /B /A-D > "%TEMP%\FileListNew.tmp"
  8.   Echo N | Comp "%TEMP%\FileList.tmp" "%TEMP%\FileListNew.tmp" 2>NUL || (
  9.   Echo Se han encontrado cambios de archivos en el directorio.
  10.   Call :FileOp
  11.   )
  12.  
  13. MOVE /Y "%TEMP%\FileListNew.tmp" "%TEMP%\FileList.tmp" 1>NUL
  14.  
  15. ) ELSE (
  16. Dir /B /A-D > "%TEMP%\FileList.tmp"
  17. )
  18.  
  19. Ping -n 5 LOCALHOST 1>NUL
  20. GOTO :Monitor_Loop
  21.  
  22. :FileOp
  23. For %%# in ("*") Do (Echo "%%~#")
  24. GOTO:EOF

El script comprueba cambios en un directorio, esto significa tanto archivos añadidos como eliminados, si quieres puedes perfeccionarlo usando FOR y/o FORFILES para monitorizar únicamente los nuevos archivos agregados, según la fecha de creación de los archivos.

PD: Óbviamente debes mantener en ejecución el script mientras estés en tu equipo, escaneando.
« Última modificación: 20 Agosto 2013, 20:50 pm por EleKtro H@cker » En línea

Stakewinner00


Desconectado Desconectado

Mensajes: 1.426



Ver Perfil WWW
Re: bat reenvio de archivos
« Respuesta #5 en: 20 Agosto 2013, 21:05 pm »

en vez de
Código:
Ping -n 5 LOCALHOST 1>NUL
por que no usar
Código:
CHOICE /T 5 /C ync /CS /D y
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.822



Ver Perfil
Re: bat reenvio de archivos
« Respuesta #6 en: 20 Agosto 2013, 21:10 pm »

Básicamente porque le estás dando una funcionalidad incorrecta al comando CHOICE, Choice no sirve para temporizador, si el usuario elige una de las opcioens se detiene el tiempo.

Como ya sabes ping tampoco es un temporizador, pero es la única solucion efectiva en Batch a falta de una verdadera función de "Sleep"...

...A menos que el usuario disponga de Windows 7 u 8 donde aquí podemos usar el comando TIMEOUT y olvidarnos de los otros comandos:

Código
  1. TIMEOUT /T 5

Saludos
En línea

Stakewinner00


Desconectado Desconectado

Mensajes: 1.426



Ver Perfil WWW
Re: bat reenvio de archivos
« Respuesta #7 en: 20 Agosto 2013, 23:21 pm »

OK, lo digo por que entre las dos alternativas que no sirven para ello no sabia cual escoger

No sabia lo del timeout.
En línea

bela lugosi

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: bat reenvio de archivos
« Respuesta #8 en: 21 Agosto 2013, 19:07 pm »

Código:
@Echo OFF
 
:Monitor_Loop
 
If Exist "%TEMP%\FileList.tmp" (
 
   Dir /B /A-D > "%TEMP%\FileListNew.tmp"
   Echo N | Comp "%TEMP%\FileList.tmp" "%TEMP%\FileListNew.tmp" 2>NUL || (
    Echo Se han encontrado cambios de archivos en el directorio.
    Call :FileOp
    )
 
MOVE /Y "%TEMP%\FileListNew.tmp" "%TEMP%\FileList.tmp" 1>NUL
 
) ELSE (
Dir /B /A-D > "%TEMP%\FileList.tmp"
)
 
Ping -n 5 LOCALHOST 1>NUL
GOTO :Monitor_Loop
 
:FileOp
For %%# in ("*") Do (Echo "%%~#")

For %%F in (".\*.jpg") Do (
     Call Ren "%%~fF" "%%date:/=-%%, %%time::=.%%.jpg"
     Call :Sleep 5 & REM Milliseconds
move IMG_****.jpg "C:\archivo\"
)

GOTO:EOF




esta bien eso que pongo?
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.822



Ver Perfil
Re: bat reenvio de archivos
« Respuesta #9 en: 21 Agosto 2013, 19:19 pm »

esta bien eso que pongo?

Nope, no hay ninguna etiqueta en el código que se llame ":Sleep"

corrige esta línea:
Código:
Call :Sleep 5
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problemas con reenvío de cookies.. en XSS vulnerable.
Nivel Web
Blixx 1 2,832 Último mensaje 6 Agosto 2006, 23:14 pm
por ifcaro
reenvío de log con logger
GNU/Linux
young0320 0 1,599 Último mensaje 11 Noviembre 2013, 16:14 pm
por young0320
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines