Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - FJPPitta

#1
Tengo una duda, de una lista de archivos es posible cuyos nombres en ocasiones se incluyen caracteres como un ! e posible localizar dichos archivos y renombrarlos cambiando el ! por un espacio o cualquier otra cosa?
#2
Saludos puse el siguiente bat y lo unicie a las 10:22am

echo %random% >>random.txt
echo %random% >>random.txt
echo %random% >>random.txt
echo %random% >>random.txt
echo %random% >>random.txt
echo %random% >>random.txt
echo %random% >>random.txt
echo %random% >>random.txt
echo %random% >>random.txt
echo %random% >>random.txt
echo %random% >>random.txt
echo %random% >>random.txt
echo %random% >>random.txt
echo %random% >>random.txt
echo %random% >>random.txt
echo %random% >>random.txt
echo %random% >>random.txt
echo %random% >>random.txt
echo %random% >>random.txt
echo %random% >>random.txt


y me dio como resultado esto:

27470
31414
9464
5936
15938
7628
22301
24777
10906
16792
25726
13464
2199
13222
8583
7720
23333
14978
3232
27665


No se ve relación alguna entre un número y otro, ni idea entonces de cual sera la semilla para este generador.

Sin embargo,


si en el bat solo se deja una linea y lo ejecutas varias veces el número aumenta progrsivamente así como te sale.

echo %random% >>random.txt

28021
28025
28025
28028
28061
28064


que curioso ¿no?

Cómo ven el 28025 se repite 2 veces, si al bat de 1 linea lo ejecutas tan rapido como puedas dar click en el raton se repite mas veces

28462
28462
28462
28462
28466
28466
28466
28469
28469
28469
28472
28472
28472
28475
28475
28475
28475
#3
Scripting / Enviar correo desde batch
13 Diciembre 2010, 18:27 PM
Hola que tal, aquí aportando algo que quizas le pueda ser de utilidad a más de uno,

Estuve buscando una forma de enviar correo electronico con un reporte de la actividad de mi archivo .bat

El programa que utilizo es el blat el cual puede ser descargado libremente de http://www.blat.net/

Esta utilidad permite realizar el envio de un correo electronico y adjuntar un archivo de forma automatica y muy sencilla.

Instalación

Descarga los archivos de la pagina proporcionada y se descomprimen en la carpeta donde guardaras tu archivo bat. Debe ser 3 archivos


  • blat.dll
  • blat.exe
  • blat.lib

Modo de Uso

El modo de uso es el siguiente:

Código (actionscript) [Seleccionar]

blat <filename> -to <destinatario> -server <servidor smtp> -f <remitente> -subject <asunto> -body <cuerpo del mensaje> -attach <archivo adjunto>


<filename> es un archivo donde escribiremos el mensaje a enviar, el cual puede ser opcional.

-to <destinatario> aqui colocaremos  la dirección a quien enviaremos el correo

-server <servidor smtp> se debe colocar un servidor para poder enviar el correo, esto lo podemos obtener de nuestro correo electronico. He probado con el de gmail pero no acepta el envio, utilize el de mi escuela.

-f <remitente> aqui pones la dirección de remitente, esta puede ser cualquiera y no es necesario que exista.

-subject <asunto> El asunto del correo electronico

-body <cuerpo del mensaje> Si no has especificado un archivo con el cuerpo del mensaje aquí puedes colocar un mensaje corto.

-attach <archivo adjunto> Puedes colocar cualquier archivo aquí que desees adjuntar al mensaje, una imagen, pdf , etc. En mi caso envie un archivo de texto.

Ejemplo:

Código (actionscript) [Seleccionar]

blat - -to micorreo@gmail.com -server smtp.miescuela.edu -f bat@desdemibat.com -subject "Prueba" -body "Esta es una prueba" -attach prueba.txt


Debo aclarar que como el cuerpo del mensaje es una frase corta no genere ningun archivo de texto por lo que el primer parametro es solamente un guion -

Uso en batch

Para utilzarse en un batch, puede ser como lo describi más arriba o utilizar variables por ejemplo si asignamos los siguientes valores

Código (actionscript) [Seleccionar]

set para="micorreo@gmail.com"
set remitente="bat@desdemibat.com"
set smtp="smtp.miescuela.edu"
set asunto="Prueba"
set mensaje="Esta es una prueba"
set adjunto="prueba.txt"


En la linea de comandos colocar

Código (actionscript) [Seleccionar]

blat - %para% %remitente% %smtp% %asunto% %mensaje% %adjunto%



#4
y con

%date:~0,2%

tambien funcionaria?

set dia=%date:~0,2%

saludos
#5
Si me equivoque en la sentencia pero con:

set file=%%~na

puedo asignar el nombre de un archivo a la variable file utilizando doble porcentaje, y para guardarlo en un txt solo le puse

   echo !contador! : !file! >>reporte.txt

asi le pongo un contador y el nombre del archivo y los voy guardando :D
#6
Ya encontre el fallo

debe quedar así:

   for %%a in (*.doc) do
   (
       set /a contador = !contador! + 1
       echo !contador! %%~na >>reporte.txt
       7z.exe a -t7z "%%~na".7z "%%~na".doc -mx9 -bd>nul
       REM otros comandos . . .
   )


Queria almacenarlo en una variable, pero al parecer va mejor directo.

Estoy trabajando en enviar el reporte por correo electronico, apenas termine las pruebas pongo el dato por si a alguien le sirve.
#7
ya esta, pense que lo habia hecho pero por las prisas no le di visualizar

Saludos
#8
Aqui otra vez dando lata,

Se me ha ocurrido hacer un reporte de archivos (si aquellos que alguna vez comprimí) y guardarlo en un TXT


   for %%a in (*.doc) do
   (
      set /a archivo = "%a"
       set /a contador = !contador! + 1
       echo !contador! !archivo! >>reporte.txt
      7z.exe a -t7z "%%~na".7z "%%~na".doc -mx9 -bd>nul
       REM otros comandos . . .
   )

 
En general es esta parte del codigo, genero un pequeño medidor de porcentaje y en la parte:

  echo !contador! !archivo! >>reporte.txt

Me guarda en el archivo solo el número de contador así, lo siguiente es las primeras letras del nombre hasta antes de un espacio

1
2
3
4
5


Trato de poner directo %~na pero no me queda en blanco ya que solo quiero poner el nombre del archivo sin extensión.

si coloco set /a nombre = %~na me dice uso del operador no valido

Saludos


#9
Muy bueno lo del wget.exe ya le estoy hechando un ojo así como para hacer una mini aplicación en batch y actualizarla via web.

Yo ya estoy agarrando más practica en estas cosas, con un compilador batch ya se puede hacer algo decente.
#10
espera aunque despues de una cocacola ya pude pensarlo mejor  :xD , lo que pasa es que no estaba asignando bien la variable la debo asignar

debe quedar así

set "ext=%1"

y luego en la linea donde ocupo la variable

ren "%~n1%~x1" "%temp%"."%ext%"

y así ya puedo almacenar un argumento y usarlo dentro de una funcion


Muchas gracias por la atención y disculpa la molestia es que llevaba un par de días dandole vueltas a esto y apenas se me prendió el foco