Buenas ...
Simplemente que he visto una consulta sobre obtener los atributos de un archivo en batch (https://foro.elhacker.net/scripting/como_tomar_atributos_de_archivo_y_mostrarlos_con_echo-t264975.0.html), 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:
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.
Function Attrib(Atinteger)
'by Novlucker
If Atinteger >0 then
AtList = array(128,64,32,16,8,4,2,1)
For v = Lbound(AtList) to UBound(AtList)
If Atinteger/AtList(v) >= 1 then
At = At & ":" & AtList(v)
Atinteger = Atinteger mod AtList(v)
End if
Next
Attrib = Right(At,Len(At)-1)
Else
Attrib = 0
End if
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
Msgbox Attrib(35)
'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 ¬¬