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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Caracteres comodin vbs
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Caracteres comodin vbs  (Leído 7,095 veces)
moikano→@


Desconectado Desconectado

Mensajes: 572


Cultiva tu mente y cuerpo, son tu única propiedad


Ver Perfil WWW
Caracteres comodin vbs
« en: 22 Junio 2010, 02:54 am »

Hola de nuevo.
vengo con una duda que me a surgido llamando a un objeto:

Código
  1. Set fso = CreateObject("Scripting.FileSystemObject")                       'busca los archivos de texto
  2.     comp = fso.FileExists ("*.txt")

el caso es que así no sirve, necesito que al encontrar cualquier fichero con extensión .txt me de el valor true en la variable.

gracias de ante mano  :)


« Última modificación: 22 Junio 2010, 16:52 pm por Leo Gutiérrez. » En línea

machio86

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Caracteres comodin vbs
« Respuesta #1 en: 22 Junio 2010, 12:35 pm »

Mira a ver si te sirve algo así:

Código:
sWQL = "SELECT * FROM cim_datafile WHERE Drive='" & drive & "' AND FileName = '" & nombre & "' AND Extension= '"& extension &"'"
For Each f In GetObject("winmgmts:").execquery(sWQL)
ficheros=ficheros+VbCrLf+f.Drive&f.Path&f.FileName&"."&f.Extension
Next
Wscript.Echo ficheros

Para ti yo creo que unicamente necesitarías especificar el campo extension

Un saludo


En línea

moikano→@


Desconectado Desconectado

Mensajes: 572


Cultiva tu mente y cuerpo, son tu única propiedad


Ver Perfil WWW
Re: Caracteres comodin vbs
« Respuesta #2 en: 22 Junio 2010, 16:50 pm »

gracias por contestar. He probado el codigo, pero no acabo de entenderlo muy bien y por eso creo que me da error o no es lo que encaja bien en el script. Si podrias explicarme que hace exactamente te lo agradeceria. :)

Pongo un trozo mas de codigo por si sirviera de ayuda.

Set objshell = createobject("wscript.shell")                'para ubicarse en el escritorio
Escritorio = objshell.specialfolders("Desktop")                            'para ubicarse en el escritorio
Set fso = CreateObject("Scripting.FileSystemObject")                       'busca los archivos de texto
     comp = fso.FileExists ("*.txt")                                       'busca los archivos de texto
      if comp = true then                                                  'si es verdadero crea la carpeta

El caso es que si el objeto file exit da verdadero crea la carpeta, sino no.
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Caracteres comodin vbs
« Respuesta #3 en: 22 Junio 2010, 16:53 pm »

Mira a ver si te sirve algo así:

Código:
sWQL = "SELECT * FROM cim_datafile WHERE Drive='" & drive & "' AND FileName = '" & nombre & "' AND Extension= '"& extension &"'"
For Each f In GetObject("winmgmts:").execquery(sWQL)
ficheros=ficheros+VbCrLf+f.Drive&f.Path&f.FileName&"."&f.Extension
Next
Wscript.Echo ficheros

Para ti yo creo que unicamente necesitarías especificar el campo extension

Un saludo

¿Qué tiene que ver con la duda del mensaje?
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
machio86

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Caracteres comodin vbs
« Respuesta #4 en: 22 Junio 2010, 23:16 pm »

Como que qué tiene que ver con la duda del mensaje? xD

Si antes del código pones
Código:
extension="txt"

Y la consulta la dejas en
Código:
sWQL = "SELECT * FROM cim_datafile WHERE Extension= '"& extension &"'"

Te saca los txt, que creo que es lo que quería xD evidentemetne habría q modificarlo un poco, ponerle un If para q mire si ha encontrado alguno y en ese caso dar la salida que él quiere etc etc , lo que pasa que si es en una carpeta concreta supongo que se podría listar el contenido de la carpeta y con una expresion regular buscar los que tengan extensión .txt
« Última modificación: 22 Junio 2010, 23:18 pm por machio86 » En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Caracteres comodin vbs
« Respuesta #5 en: 23 Junio 2010, 20:08 pm »

http://msdn.microsoft.com/en-us/library/x23stk5t%28VS.85%29.aspx
Citar
Wildcard characters (*, ?, and so on) are not supported.

La primera solución, la de usar WMI para hacer el trabajo me gusta, porque se aprovecha el "poder" de la sentencia WQL y queda un código limpio :P

Sino se puede usar alternativas "artesanales"

Código
  1. Msgbox txt("C:\Carpetaejemplo", "txt")
  2.  
  3. Function txt(Carpeta, Extension)
  4. txt = False
  5.  
  6. Set objfso = CreateObject("scripting.filesystemobject")
  7. Set oFolder = objfso.getfolder(Carpeta)
  8. Set oFiles = oFolder.files
  9.  
  10. For each f in oFiles
  11. if(lcase(right(f.path,3))) = lcase(Extension) then
  12. txt = True
  13. exit Function
  14. end if
  15. Next
  16.  
  17. End Function

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA BATCH COMODIN ?
Scripting
japarrado 3 5,292 Último mensaje 19 Julio 2013, 15:41 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines