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
Lo he hecho porque si hacemos algo como lo siguiente:
Código
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
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
Código
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
Saludos
P.d: por alguna razón el tabulado del código no queda como corresonde ¬¬