Establecer atributos a una carpeta. [SOLUCIONADO]

Como indica el nombre del foro en el moveremos todos los temas de dudas que se resuelvan con exito .
Este foro no tendra permisos de escritura.
Hola a todos!!

Gracias por leer esta duda y espero que puedan ayudarme.

Mi duda es:
File.SetAttributes
Establece atributos a archivos, es posible hacer esa misma accion pero en carpeta, es decir "Establecer atributos a una carpeta"?
:SOS: :SOS:

Espero sus respuestas.

Hola downsher, has probado la funcion file.setattributes? En la ayuda no viene si esto se puede usar para carpetas, nunca lo probe. Prueba a hacer un command DOS con "attrib" dentro del file.run o en shell.execute

Por darte una idea, yo estoy fuera y no tengo el ams a mano ...
Hola Dowsher! Estuve buscando en la ayuda del ams y en google pero no encontré nada interesante que se relacione.

Fijate si la idea de carsonzillo te sirve, muchas veces yo hice lo mismo para simplificar el código y evitar complicaciones.


Un bat sencillo sería algo como:

Código: Seleccionar todo

@ECHO OFF
ATTRIB +S +H "C:\FOLDER" /D
EXIT
+ = Agrega atributo.
- = Elimina atributo.
/D = Procesa carpetas.

S = Archivo de sistema.
H = Oculto.

Espero que te sirva de algo, disculpá no poder ayudarte más :sorry:

Suerte! ;)

Hola carsonzillo !!

Ya intente con File.SetAtributes y nada. Ahora lo estoy haciendo con archivos .bat, gracias MT95 estoy usando el comando que me dices y funciona a la perfeccion.

Pero que es lo que quieres intentar con la carpeta? crearla oculta o como? que tipo de propiedad quieres aplicar a la carpeta?

Para que te funcione mejor hacelo con el bat..despues lo comvertis a .exe con un comvertidor de bat a .exe..ese programita lo agregas a un boton del autoplay y le das la opcion de ejecutar un programa..asi sera invisible la actividad.

carsonzillo

Veras lo que quiero hacer es aplicar esta tabla de atributos a una carpeta.
sAttrib = {};
sAttrib.ReadOnly = true;
sAttrib.System = true;
sAttrib.Hidden = true;
Como ya dije he intentado con:
File.SetAttributes
Pero solo funciona con archivos.
Ahora lo hago con archivos .bat y con:
File.Open al parecer funciona bien hay que espera algún tiempo y ver que sucede.

comprotodo201480
En cuanto a convertir los .bat a .exe no creo que sea muy útil, pues Windows pide permisos de administrador para ejecutar un .exe y eso afectaría a algunos usuarios de la app que estoy haciendo.

Me alegro que lo hayas solucionado! ;)

Me olvide de decirte que yo personalmente uso y me gusta como funciona el Shell.Execute en hide con los bats, totalmente discreto y si necesitas esperar a que complete la función podés activar el return.

Suerte!

Ok muchas gracias de nuevo MT95