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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Desglosando atributos de un archivo (vbscript)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Desglosando atributos de un archivo (vbscript)  (Leído 3,374 veces)
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Desglosando atributos de un archivo (vbscript)
« en: 23 Agosto 2009, 05:46 am »

Buenas ...

Simplemente que he visto una consulta sobre obtener los atributos de un archivo en batch, y he recordado que tengo un script vbs que hacía justamente eso, creería que habría otra manera de hacerlo, pero como no la recuerdo dejo esta función :P

Lo he hecho porque si hacemos algo como lo siguiente:

Código
  1. Msgbox createobject("scripting.filesystemobject").getfile(wscript.scriptfullname).attributes

Nos devolverá un valor que representa la sumatoria de los diferentes atributos que tiene el archivo, con la siguiente tabla como referencia

Valor
1
2
4
8
Atributo
Solo Lectura
Oculto
Sistema
Letra de disco
Valor
 16
 32
 64
 128
Atributo
Carpeta/directorio
Archivo
Link o acceso directo
Comprimido

O sea que si al utilizar attributes obtenemos un 35, debemos de suponer que el archivo tiene atributos de archivo (32), solo lectura (1) y oculto (2), por lo que la siguiente función hace justamente eso, listar los atributos de manera individual.

Código
  1. Function Attrib(Atinteger)
  2. 'by Novlucker
  3.  
  4. If Atinteger >0 then
  5. AtList = array(128,64,32,16,8,4,2,1)
  6. For v = Lbound(AtList) to UBound(AtList)
  7. If Atinteger/AtList(v) >= 1 then
  8. At = At & ":" & AtList(v)
  9. Atinteger = Atinteger mod AtList(v)
  10. End if
  11. Next
  12. Attrib = Right(At,Len(At)-1)
  13. Else
  14. Attrib = 0
  15. End if
  16.  
  17. End Function

En definitiva .. le pasamos el valor que representa los atributos (la sumatoria), y obtenemos un string con cada uno de los atributos, el cual de ser necesario se procesaría con un split

Código
  1. Msgbox Attrib(35)
  2. 'Resultado 32:2:1

Eso es todo, este script ya tiene un tiempo he incluso ya lo había publicado en otro sitio, y si alguien recuerda que exista un método directo para hacer esto, mejor :D

Saludos

P.d: por alguna razón el tabulado del código no queda como corresonde ¬¬


« Última modificación: 23 Agosto 2009, 05:58 am por Novlucker » 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
[Solucionado]¿Cambiar varios atributos a un archivo?
.NET (C#, VB.NET, ASP)
adan-2994 3 3,056 Último mensaje 22 Febrero 2013, 14:57 pm
por DragonsWP
Leer Archivo en vbScript
Scripting
injekt2017 3 5,515 Último mensaje 30 Noviembre 2017, 09:23 am
por John1Connor
Combinaciones de teclas con archivo VBScript
Scripting
Gerardo1209 1 3,428 Último mensaje 17 Mayo 2019, 02:15 am
por tincopasan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines