El Blog de Enrique Cortés

lunes, 6 de agosto de 2007

Cambiar atributos mediante arrastrar y soltar



Si accedes a las propiedades de un archivo o una carpeta, podrás cambiar sus atributos fácilmente, al menos alguno de ellos. Por ejemplo, podrás convertirlo en un archivo de sólo lectura u oculto. Este es sin duda el modo más habitual de hacerlo. También puedes utilizar el intérprete de comandos (cmd) mediante el comando Attrib para cambiar atributos de archivos y carpetas, más completo que el modo habitual. Para obtener más información sobre el comando Attrib, ejecuta la siguiente orden desde el menú Inicio > Ejecutar (sólo en Windows XP):

hh ntcmds.chm::/attrib.htm

De esta forma, puedes asignar atributos de sólo lectura, oculto y sistema, e incluso asignar varios atributos a un solo objeto.

Pero si quieres hacerlo de una manera más rápida y sencilla, utiliza este método: simplemente arrastrando el archivo o carpeta hasta un fichero que se encargará de cambiar sus atributos en un par de clics. Se trata de un script mediante el cual podrás asignar o quitar cualquier atributo a archivos y carpetas. Para crear este script, sigue estos pasos:

1.- Crea en el Escritorio un nuevo archivo de texto mediante el Bloc de notas (notepad)

2.- Ejecuta el archivo e introduce el siguiente texto:



Dim fso, archiv, attrib, i, arg
Set fso = CreateObject("Scripting.FilesystemObject")

arg = wscript.arguments.item(0)

if fso.fileexists(arg) = true then
i = 1
elseif fso.folderexists(arg) = true then
i = 2
end if

attrib = inputbox("Teclea el número correspondiente al atributo que quieres asignar." & vbcrlf & "- 0 Sin atributos" & vbcrlf & "- 1 Sólo lectura" & vbcrlf & "- 2 Oculto" & vbcrlf & "- 3 Sólo lectura y Oculto" & vbcrlf & "- 4 Sistema" & vbcrlf & "- 5 Sistema y Sólo lectura" & vbcrlf & "- 6 Sistema y Oculto" & vbcrlf & "- 7 Sistema, Oculto y Sólo lectura")

if i = 1 then
set archiv = fso.GetFile(arg)
archiv.attributes = attrib
set archiv = nothing
msgbox "El atributo ha sido asignado.", 0, "Finalizado con éxito"
end if

if i = 2 then
set archiv = fso.GetFolder(arg)
archiv.attributes = attrib
set archiv = nothing
msgbox "El atributo ha sido asignado.", 0, "Finalizado con éxito"
end if


Ahora, guarda el archivo en el Escritorio con el nombre Cambiar atributos y con extensión VBS (Cambiar atributos.vbs).


Nota: Para ahorrarte trabajo, si no quieres crear este archivo, puedes descargarlo desde esta dirección:

http://ekortes.googlepages.com/Cambiaratributos.vbs (libre de virus)


Ya puedes probar la efectividad del script: arrastra un archivo cualquira (desde cualquier ubicación) justo sobre el icono del archivo vbs. Inmediatamente, se abrirá una ventana para asignar atributos. Cada número, del 0 al 7 representa un atributo o conjunto de ellos. Escribe el número del atributo que quieres asignar. Esta es la lista que aparece:

- 0 Sin atributos
- 1 Sólo lectura
- 2 Oculto
- 3 Sólo lectura y Oculto
- 4 Sistema
- 5 Sistema y Sólo lectura
- 6 Sistema y Oculto
- 7 Sistema, Oculto y Sólo lectura


Puedes comprobar la efectividad del script al asignar diferentes atributos, si utilizas el símbolo del sistema mediante el comando attrib. Por ejemplo, vamos a cambiar atributos al archivo Documento.doc que se halla en el Escritorio. Por defecto, no tiene atributos (número 0). Arrastra Documento.doc hasta el fichero Cambiar atributos.vbs y cámbiale el atributo a Sólo lectura (número 1). Ahora abre una ventana de comandos (inicio > ejecutar > cmd) y sitúate en el Escritorio. Escribe el siguiente comando y pulsa Enter:

attrib "Documento.doc"

verás que se ha creado una línea con la ruta del archivo y una R en la cabecera. Esta R (Read) significa que el archivo es de sólo lectura.

Si el atributo es de Oculto (número 2), aparecerá una H (Hide) en la cabecera.
Si los atributos son de Sólo lectura y Oculto (número 3), aparecerán las letras HR (Hide-Read) en la cabecera.
Si el atributo es de Sistema (número 4), aparecerá una S (System) en la cabecera.
Si los atributos son de Sistema y Sólo lectura (número 5), aparecerán las letras SR (System-Read) en la cabecera.
Si los atributos son de Sistema y Oculto (número 6), aparecerán las letras SH (System-Hide) en la cabecera.
Por último, si los atributos son de Sistema, Oculto y Sólo lectura (número 7), aparecerán las letras SHR (System-Hide-Read) en la cabecera de la ruta del archivo.

*


*

*

22 comentarios:

Unknown dijo...

Enrique:
Esta muy bien, lo he probado con un documento de Word y funciona, pero no así con una carpeta.

El problema que me he encontrado es común por lo que he podido ver en la red: Haces un programa bajo XP copias los datos en un pendrive para traspasarlo a un PC con Windows Vista y la casilla solo lectura aparece en azul (no con el check mark habitual) y no te deja cambiar el nombre de la carpeta.

Anónimo dijo...

BROTHER UNA PREGUNTA..
PUSE PROPIEDADES EN UNA CARPETA Y PINCHE LA CASILLA "OCULTO"
DESPUES PUSE ACEPTAR Y NO CE DONDE QUEDA LA CARPETA . NO LA ENCUENTRO..
PORFA ..COMO LA RECUPERO?
ESA ES MI DUDA . SI ME PODRIAS AYUDAR TE LO AGRADECERIA MUCHISIMO
TE DEJO MI MAIL

KEKO_ONTHESED@HOTMAIL.COM

MI BLOG

http://kekodjonthesed.blogspot.com/

DE ANTEMANO MUCCHAS GRACIAS

BYE BYE
SALUDOS

Enrique Cortés dijo...

Hola.

Para poder visualizar las carpetas y archivos ocultos hay que activar esa opción del sistema desde Panel de control > Opciones de carpeta > Ver. En "Configuración avanzada" marca la casilla "Mostrar todos los archivos y carpetas ocultos".

Anónimo dijo...

X C LN T programita.

lo he usado en win vista y me funcionó a la perfección (en carpetas, en archivos aun no lo pruebo).

Te felicito por la miniapp. y sigue así

Anónimo dijo...

Enrique..Necesito tu ayuda con esto de los atributos..Un virus le hizo algo al computador y ahora no me deja visualizar archivos ocultos desde el Explorador de Windows. Unas carpetas que manejo las tengo ocultas por seguridad, pero ahora no las puedo utilizar por dicho problema; Creo que la solución es cambiarle los atributos desde DOS, sin embargo he ensayado comandos de mil formas y siempre obtengo el mismo error de formato de código..La carpeta oculta se llama "Final" y su ruta es: D:\Universidad\Correccion Proyecto\Final
Como debo escribir el comando que me permita cambiarle el atributo de oculto?..Te lo agradezco Enrique

Enrique Cortés dijo...

Hola Sebastián. En primer lugar hay que averiguar por qué no puedes visualizar los archivos y carpetas ocultos. Accede a Panel de control > Opciones de carpeta > Ver. En el cuadro Configuración avanzada, la tercera opción trata sobre los archivos y carpetas ocultos, con dos opciones:
*Mostrar todos los archivos y carpetas ocultos
*No mostrar archivos ni carpetas ocultos
.

¿No te aparecen estas opciones?
¿Te aparecen pero siguen sin aparecer los archivos ocultos?

Anónimo dijo...

Accede a Panel de control > Opciones de carpeta > Ver. En el cuadro Configuración avanzada, la tercera opción trata sobre los archivos y carpetas ocultos, con dos opciones:
*Mostrar todos los archivos y carpetas ocultos
*No mostrar archivos ni carpetas ocultos.


y mas abajo existe otra llamada ocultar archivos protegido del sistema operativo deshabilitala y cheka lo que pasa asi si podras verlos espero te ayude

Anónimo dijo...

Excelente programa, me sirvió de mucho porque un virus puso todas las carpetas de mi USB ocultas, y no se podian quitar por nada.

Muchas gracias!

Unknown dijo...

Hola, solo para agradecerte, el Script es muy bueno, Funciona excelente, algunos Virus cambian los atributos de las carpetas y es muy molesto, esta es una Buena solución para esos Casos, en mi Caso; tenia una USB infectada con un Virus, la desinfecte pero las propiedades de mis carpetas estaban modificados [Solo lectura-Ocultos], no se podía acceder a ellos y solo con este script pude regresarles sus atributos originales.

Muchas gracias :)

Anónimo dijo...

Muy bueno. Lo he probado y funciona... a medias. Es decir, para cambiar atributos a dos o tres ficheros funciona pero es innecesario. Lo bueno sería poderlo usar para cambiar atributos a ficheros por lotes. ¿Qué pasa si quieres cambiar atributos a 200 ficheros de golpe? Pues que solo funciona con el último de los seleccionados.

Gracias de todos modos y un saludo

Anónimo dijo...

Creen que con eso solucionan los problemas cuando pueden hacerlo tan facil y sencillo usando el comando "attrib", si no lo conocen ejecuten cmd, luego escriben "attrib /?" para ver todas las opciones y ayuda necesaria. De esa forma cambian atributos a todos los archivos y carpetas q quieran.

Enrique Cortés dijo...

Eso ya lo he dicho en el artículo. Pero para los usuarios que no dominan la consola de comandos les es mucho más fácil tener un script a mano.

Unknown dijo...

Excelente Script, me sirvio para las carpetas que un desgraciado virus las oculto y no dejaba cambiar atributos. Ademas es mas facil con el Script a usar el D.O.S.
Gracias, agregado el blog a favoritos.

Daniel Ríos dijo...

Qué bueno!

Quien nunca te alcanzo dijo...

DEMASIADO bueno amigo... me sirvió para cambiar el atributo oculto a los archivos que esconden ciertos virus para hacer replicas ejecutables infectadas. no había podido hacerlo de la manera tradicional ni por msdos...

MAGRAE dijo...

gracias amigo en serio k es un buen scrip, t lo agradesco mucho, solo kisiera saber si podrias decirme para k sirve tanta sigla, yac k es un codigo de windos pero podiras ubicarme a k se refiere tanta sigla del codigo para entender k es lo k ace el virus k tengo y donde bscarlo, tengo en antivirus k lo elimina pero kiero saber exactamente como ace eso de cambiar el icono de las carpetas por uno mas nuevo y despues como las oculta gracias espero k me puedas decir

Anónimo dijo...

excelente programita muy bueno

Juan Rojas dijo...

No se si me podras ayudar pero tengo un problema y no se como solucionarlo. Poseo el W7 ultimate de 64 bits y necesito que a una carpeta quitarle el atributo de solo lectura. Lo he intentando de todas las formas que he encontrado googleando pero nada de nada. Estoy ya aburrido de intentar cosas pero nada. Espero me puedas ayudar.

Anónimo dijo...

Excelente K... me ayudaste bastante, lo probe y funciono incluso con carpetas.... RECOMENDABLE AMPLIAMENTE.....

Job Noe de Mexico

arlmiguel dijo...

excelente trabajo...
y gracis por dejar el codigo del programita....muy util...
100 x100to recomendado....

Kiquenet dijo...

Hola, en PowerShell cómo sería? Saludos. Gracias.

Ricky dijo...

muchas gracias!!! me re sirvió