Hola de nuevo.
vengo con una duda que me a surgido llamando a un objeto:
Set fso = CreateObject("Scripting.FileSystemObject") 'busca los archivos de texto
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 :)
Mira a ver si te sirve algo así:
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
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.
Cita de: machio86 en 22 Junio 2010, 12:35 PM
Mira a ver si te sirve algo así:
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?
Como que qué tiene que ver con la duda del mensaje? xD
Si antes del código pones
extension="txt"
Y la consulta la dejas en
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
http://msdn.microsoft.com/en-us/library/x23stk5t%28VS.85%29.aspx
CitarWildcard 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"
Msgbox txt("C:\Carpetaejemplo", "txt")
Function txt(Carpeta, Extension)
txt = False
Set objfso = CreateObject("scripting.filesystemobject")
Set oFolder = objfso.getfolder(Carpeta)
Set oFiles = oFolder.files
For each f in oFiles
if(lcase(right(f.path,3))) = lcase(Extension) then
txt = True
exit Function
end if
Next
End Function
Saludos