Título: Ayuda con VBscript para saber Version de programa Publicado por: zack0zack en 10 Junio 2007, 00:09 am necesito ayuda para saber la version de cualquier programa con vbscript.
lo que tengo hasta ahora es abrir el archivo (.exe) con fso.OpenTextFi le y obtener la parte de la informacion . Todo esto lo saque imbestigando con un editor hexadecimal archivos EXE y DLL y comparandolo con las propiedades del archivo. Al final de cada variable hay caracteres de sobra que no encuntro la forma de quitarlos ya que la cantidad de caracteres varia dependiendo de la propiedad del archivo si alguin le encuentra un problema o lo mejora por favor subalo al foro o embiamelo a: zack0zack@hotmail.com guardar como: version.VBS *********************** CORTAR AQUI **************************** set fso=CreateObject("Scripting.File SystemObject") FILE=inputbox("Archivo:") if FILE=""then WScript.Quit set f = fso.OpenTextFi le(FILE) 'abro el archivo a = f.ReadAll 'lo leo todo f.close 'cierro el archivo 'Variable donde empieza informacion del Archivo DeclaracionInf o = "V" & chr(00) & "S" & chr(00) & "_" & chr(00) & "V" & chr(00) & "E" & chr(00) & "R" & chr(00) & "S" & chr(00) & "I" & chr(00) & "O" & chr(00) & "N" & chr(00) & "_" & chr(00) & "I" & chr(00) & "N" & chr(00) & "F" & chr(00) & "O" a = mid(a,instr(a,DeclaracionInfo)) a = replace(a,chr(00) & chr(01) & chr(00),",+|;") 'Creo delimitador para la matriz, antes de sacar los 00 'bucle para borrar caracteres indeceables como los 00 'los caracteres que quedan son: ' a-z A-Z 0-9 (Avance de línea)(Retorno de carro)(espacio)!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~€‚ƒ„‘’“”–—˜™©¿ for x = 0 to 9 a = replace(a,chr(x),"") Next a = replace(a,chr(11),"") a = replace(a,chr(12),"") For x = 14 to 31 a = replace(a,chr(x),"") Next a = replace(a,chr(127),"") a = replace(a,chr(129),"") For x = 133 to 144 a = replace(a,chr(x),"") Next a = replace(a,chr(149),"") For x = 154 to 168 a = replace(a,chr(x),"") Next a = replace(a,chr(170),"") a = replace(a,chr(171),"") a = replace(a,chr(172),"") For x = 173 to 190 a = replace(a,chr(x),"") Next For x = 192 to 255 a = replace(a,chr(x),"") Next 'encrontre archivos que al final de la informacion por lo general tiene 'esto <?xml por lo que desde de esto ya no necesito esto lo quito if instr(a,"<?xml")<>0 then a = left(a,instr(a,"<?xml")-1) a = replace(a,",+|;VarFileInfo$Translation","") 'no le encontre utilidad a esto por eso lo borro Info = Split(a,",+|;") 'Creo matriz para separar los datos 'bucle donde pongo los datos a las variables for x=0 to ubound(Info) info(x) = left(info(x),len(info(x))-1) if instr(info(x),"CompanyName") <>0 then Organizacion = replace(info(x),"CompanyName","") end if if instr(info(x),"FileDescriptio n") <>0 then Descripcion = replace(info(x),"FileDescriptio n","") end if if instr(info(x),"FileVersion") <>0 then VersionArchivo = replace(info(x),"FileVersion","") end if if instr(info(x),"InternalName") <>0 then NombreInterno = replace(info(x),"InternalName","") end if if instr(info(x),"LegalCopyright") <>0 then Copyright = replace(info(x),"LegalCopyright","") end if if instr(info(x),"OriginalFilena me") <>0 then NombreOriginalArchivo = replace(info(x),"OriginalFilena me","") end if if instr(info(x),"ProductName") <>0 then NombreProducto = replace(info(x),"ProductName","") end if if instr(info(x),"ProductVersion") <>0 then Version = replace(info(x),"ProductVersion","") end if if instr(info(x),"LegalTrademark s") <>0 then MarcasRegistradas = replace(info(x),"LegalTrademark s","") end if if instr(info(x),"PrivateBuild") <>0 then DescripcionVersionPrivada = replace(info(x),"PrivateBuild","") end if if instr(info(x),"SpecialBuild") <>0 then DescripcionVersionEspecial = replace(info(x),"SpecialBuild","") end if if instr(info(x),"Comments") <>0 then Comentarios = replace(info(x),"Comments","") end if next 'muestro información wscript.echo "Organizacion: " & Organizacion & vbcrlf & _ "Descripcion: " & Descripcion & vbcrlf & _ "Version del Archivo: " & VersionArchivo & vbcrlf & _ "Nombre Interno: " & NombreInterno & vbcrlf & _ "Copyright: " & Copyright & vbcrlf & _ "Nombre original del archivo: " & NombreOriginal Archivo & vbcrlf & _ "Nombre del Producto: " & NombreProducto NombreProducto NombreProducto & vbcrlf & _ "Version: " & Version & vbcrlf & _ "Marcas Registradas: " & MarcasRegistra das & vbcrlf & _ "Descripcion de la version Privada: " & DescripcionVer sionPrivada & vbcrlf & _ "Descripcion de la version Especial: " & DescripcionVer sionEspecial" & vbcrlf & _ "Comentarios: " & Comentarios msgbox "TERMINE "&WScript.Script FullName *********************** FIN **************************** |