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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 ... 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 [505] 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 ... 526
5041  Programación / Scripting / Re: Detector unidades Pendrive 0.9 en: 1 Julio 2008, 02:46 am
Ahora si me ha funcionado  :D
5042  Programación / Scripting / Re: Detector unidades Pendrive 0.5 en: 1 Julio 2008, 00:32 am
Lamento informar que a mi me detecta G:, pero G ni siquiera existe en este momento.....  :-\

Es por eso que siempre me decanto por *.vbs  ;D

Código
  1. set objfso = createobject("scripting.filesystemobject")
  2. set discos = objfso.drives
  3. nu=0
  4.  
  5. for each d in discos
  6. if d.driveletter <> "A" and d.drivetype = 1 then
  7. u = u & d.driveletter & ":" & chr(13)
  8. nu = nu+1
  9. end if
  10. next
  11.  
  12. if nu = 0 then
  13. msgbox "No se han deteactado unidades removibles"
  14. else
  15. msgbox "Las unidades removibles son: " & chr(13) & u
  16. end if

Saludos  ;D
5043  Programación / Programación Visual Basic / Re: [Source] IsVirtualPCPresent() - Sistema AntiVirtualPC en: 30 Junio 2008, 22:41 pm
Citar
Muy interesante, me preguntaba si no hay una manera un poco mas "general" de detectar este tipo de soft?

No creo que sea necesario, ya que este "tipo de soft" es contado con los dedos  :P
Basta un par de rutinas de este tipo para solucionar el problema

Saludos
5044  Programación / Scripting / Re: Duda entre VBS y VB en: 30 Junio 2008, 22:32 pm
Si las opciones son esas 2.....

VB..... vbs es muy similar a VB, vendría siendo el hermano menor de VB, y obviamente es mucho más limitado....
VB esta creado para desarrollar aplicaciones, vbs esta creado para automatizar tareas e interactuar los navegadores con las páginas web
VB es compilado, y vbs interpretado, por lo que tu code podrá ser visto facilmente si eliges este último
vbs es muy detectado por los AV, VB tiene maneras de hacer lo mismo y mucho más, y además rebuscarselas para que el AV no salte

En definitiva, te recomendaría VB, un lenguaje de programación de mayor nivel que un lenguaje script... creado simplemente para facilitar alguna tarea...  ;)

Igualmente creo que este post no debería de ir aquí, ya que tu duda no es percisamente de scripting, si bien involucra un lenguaje de scripting

Saludos
5045  Programación / Scripting / Re: Fallo con If en python en: 30 Junio 2008, 17:55 pm
No entiendo cual es el problema, o bueno, más o menos......

Los if del 1 al 4 están bien, el único problema que veo, es en esta línea

Citar
if num <0 and num > 5:

num, nunca puede ser menor a 0 y mayor a 5, no debería de ser and, sino or  ;)

También deberías de probar con else para esta última opción (si no es 1, 2, 3 o 4, entonces), ya que sería la manera más correcta

Saludos
5046  Programación / Scripting / Comparar líneas VBS en: 30 Junio 2008, 17:28 pm
Buenas, una vez más, estaba viendo la solución a uno de los problemas planteados en batch, en este caso es el de Shinseiki86, que quería comparar líneas en un archivo de texto, y que las que estuviesen repetidas, fueran volcadas a un otro archivo de texto a modo de registro....

En batch, esto puede resultar muy complicado, por no decir imposible (por lo que, ni me he complicado :rolleyes:), pero en *.vbs, esto resulta mucho más fácil..... así que he creado el siguiente script....

Este no solo revisa la línea siguiente, como planteaba Shinseiki86, sino que revisa todas y cada una de las líneas, por lo que, para un archivo de 3000 líneas(se planteaba en el caso original), el script realiza unas 4500000 comparaciones, en menos de un minuto (Pentium IV, 1 Gb de ram), una vez terminado, vuelca las líneas repetidas en un archivo (creado en los temporales) y lo ejecuta para su visualización.

Durante el proceso se verán mensajes del progreso (simples popup), los cuales avisaran cada 10%  :P

Esta la posibilidad de hacer un script más vistoso, en el cual, en lugar de los popup se muestre una barra de progreso creada en iexplorer, pero el kaspersky lo detecta como amenaza porque se intenta crear algo con el iexplorer  :¬¬

En definitiva.... este es el script  :P (creado en un rato de distracción en el curro XD)

Código:
set objfso = createobject("scripting.filesystemobject")
set objshell = createobject("wscript.shell")
set archivo = objfso.opentextfile("c:\origen.txt",1)

archivo.readall
lineast = archivo.line
archivo.close
upro = 0

for n = 1 to lineast - 1

set archivo = objfso.opentextfile("c:\origen.txt",1)

if n > 1 then
for e = 1 to n - 1
archivo.skipline
next
end if

lineaa = archivo.line
primeral = archivo.readline

for i = 1 to lineast - lineaa
segundal = archivo.readline
if segundal = primeral and instr(1,registro,segundal,1) = 0 then
registro = registro & segundal & ";"
exit for
end if
next

archivo.close
pro = int((100/lineast)*n)

if pro <> upro and int(pro/10) = (pro/10) then
progreso =  objshell.popup(pro & "%",1,"Progreso...")
objshell.AppActivate "Progreso..."
upro = pro
end if

next

set destino = objfso.createtextfile(objfso.getspecialfolder(2) & "\resultado.txt",true)
renglones = split(registro,";")

for each r in renglones
destino.writeline r
next

msgbox "Proceso terminado..."
objshell.run objfso.getspecialfolder(2) & "\resultado.txt"

El archivo de origen (el que tiene las líneas a compar) debe de estar en c:\origen.txt), como ejemplo, un archivo con el siguiente texto...

2008-06-19_590059_NI_890807898_EPS018_86_I.TXT
2008-06-19_621451_NI_890706425_EPS018_86_I.TXT
2008-06-19_621451_NI_890706425_EPS018_86_I.TXT
2008-06-19_621452_NI_890706425_EPS018_86_I.TXT
2008-06-19_621517_NI_810001583_EPS018_86_I.TXT
2008-06-20_102019121_CC_94487480_EPS018_51_I.TXT
2008-06-20_102019121_CC_94487480_EPS018_51_I.TXT
2008-06-20_102088573_CC_5931385_EPS018_01_I.TXT
2008-06-20_102718305_CC_33966379_EPS018_01_I.TXT
2008-06-20_102718305_CC_33966379_EPS018_01_I.TXT
2008-06-20_103000920_CC_31992855_EPS018_01_I.TXT
2008-06-20_103000920_CC_31992855_EPS018_01_I.TXT
2008-06-20_103161002_CC_16638978_EPS018_01_I.TXT

Arrojaría como resultados, un archivo con esto....

2008-06-19_621451_NI_890706425_EPS018_86_I.TXT
2008-06-20_102019121_CC_94487480_EPS018_51_I.TXT
2008-06-20_102718305_CC_33966379_EPS018_01_I.TXT
2008-06-20_103000920_CC_31992855_EPS018_01_I.TXT
(son los que se ven marcados en rojo arriba, y que en definitva están repetidos)

Bueno, eso es todo, en definitiva, un code más para que pueda servir como ejemplo, y quizás le sirva a Shinseiki86 ;D

Mensaje original donde se plantea la consulta

Saludos

P.D1: el code queda más legible si lo pongo entre etiquetas GeSHi, pero a la hora de copiar el code en el notepad se desordena todo  :¬¬

P.D2:También pongo este code por separado del original porque la consulta era en batch, y para no mezclar el post de Programación BATCH Avanzada. (nuevo) con *.vbs  :P
5047  Programación / Scripting / Re: duda, elevar una base en su exponente (batch) en: 29 Junio 2008, 03:06 am
Buenas... mi solución al problema,..... como;

1) ms-dos tiene problemas con los números grandes y los decimales, y..
2) Me gusta mucho más *.vbs (ya lo he dicho antes  :rolleyes:)
La solución es mezclar batch con vbscript... y el resultado es algo como esto...

Código:
echo off
set /p base=Base:
set /p exponente=Exponente:

echo ^set objfso = createobject("scripting.filesystemobject") >> %temp%\temp.vbs
echo ^set atemp = objfso.createtextfile(objfso.getspecialfolder(2) ^& "\calc.txt",true) >> %temp%\temp.vbs
echo resultado = %base%^^(%exponente%) >> %temp%\temp.vbs
echo atemp.writeline resultado >> %temp%\temp.vbs
echo atemp.close >> %temp%\temp.vbs
start /wait %temp%\temp.vbs

more < %temp%\calc.txt
del %temp%\calc.txt
del %temp%\temp.vbs
pause

Se que el manejar archivos en los disco raíz puede dar problemas, pero es cuestión de cambiar las rutas, la idea era mostrar una posible solución  ;D

Espero sirva como opción

Saludos  ;)

[Modifico:] He arreglado lo del disco raíz por la carpeta de temporales  ::)
5048  Programación / Scripting / Re: Cronometro en VBS :p en: 28 Junio 2008, 02:05 am
Citar
Te felicito Novlucker, está muy bueno, lo que si, crítica constructiva, podría ejecutarse el txt en alguna carpeta temporal, porque en cuenta limitada, al no tener acceso a los directorios raíz, arroja error.

Muchas gracias carlitos.dll, y lo de la critica, toda critica constructiva es bienvenida, es más, yo tampoco pude ejecutarlo por el tema de los directorios raiz, y use el disco D:\ que era de una partición con acceso total (hice el script en el trabajo, en un momento de ocio  :rolleyes:), pero puse esa ruta, para que fuera fácil de identificar, con cambiarla basta, y de querer que vaya a la carpeta temporal, basta modificar un par de líneas.....

Código
  1. set ranking = objfso.opentextfile("C:\ranking.txt",8,true)
Por esto......
Código
  1. set ranking = objfso.opentextfile(objfso.getspecialfolder(2) & "\ranking.txt",8,true)
Y... esto....
Código
  1. objshell.run "C:\ranking.txt"
Por esto otro.....
Código
  1. objshell.run objfso.getspecialfolder(2) & "\ranking.txt"

 ;D

Saludos


5049  Programación / Scripting / Re: Ejecucion de archivo exe con batch en: 28 Junio 2008, 01:26 am
Tienes win2000? :rolleyes:, porque cmd apareció luego y el equivalente sería command.exe

Saludos
5050  Programación / Scripting / Re: Cronometro en VBS :p en: 28 Junio 2008, 01:21 am
Es que es el efecto de los segundo que pasan  :xD

Se puede reducir a un simple contador en pantalla con un code como este..

Código
  1. set objshell = createobject("wscript.shell")
  2. msgbox "Presiona aceptar para comenzar el conteo..."
  3. empieza = time()
  4. do
  5. tiempo = datediff("s",empieza,time())
  6. wscript.echo tiempo
  7. wscript.sleep 1000
  8. loop

Con este code solo salta un mensaje en pantalla cada vez que le damos a aceptar, pero no se ve el efecto del tiempo pasando, y no se puede detener de ninguna manera  :xD (solo matando el proceso), o bien, se pude lanzar desde ms-dos invocando cscript del siguiente modo

Código:
cscript nombrequeledieron.vbs

En este caso comenzara a mostrar los numeros en la consola y se detendrá hasta bien no se pulse ^C, pero claro, no creará ningún tipo de registro.
Tiene la ventaja sobre batch, que el sleep de vbs si está desde win 98 en cualquier sistema, y además, vbs te permite utilizar funciones especificas de fecha y hora para poder marcar los tiempos sin errores  ;)

Saludos
Páginas: 1 ... 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 [505] 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 ... 526
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines