VBS - ¿cambiar Attibutos de carpetas oculta?

Iniciado por quico5, 14 Agosto 2012, 19:51 PM

0 Miembros y 1 Visitante están viendo este tema.

quico5

En Windows Vista/7 la carpeta AppData esta oculta y a partir de aí meda error .VBS

Código (vb) [Seleccionar]
ObjCopy.CopyFile "festo\programas\*", "C:\Users\"+UserName+"\AppData\Roaming\Microsoft\Windows\Start Menu\Programs", true

Mi idea seria cambiar los atributos antes y despues de esta linea, ¿que me aconsejan? gracias


Código (vb) [Seleccionar]
Dim objUrl, objUser, objCopy, Ruta

Set objUrl = CreateObject("Scripting.FileSystemObject")
Set objUser = CreateObject("WScript.Network")
Set objCopy = createobject("scripting.filesystemobject")

UserName = objUser.UserName

If Not objUrl.FolderExists("c:\festo") Then
 MsgBox "Instalar", , "Festo"
 ObjCopy.CopyFolder "festo/c", "c:/festo", true

 If objUrl.FolderExists("C:\Users\"+UserName+"\Desktop") Then
   ObjCopy.CopyFile "festo\programas\*", "C:\Users\"+UserName+"\Desktop", true
   MsgBox "Instalado"
 Else
   ObjCopy.CopyFile "festo\archivos\Festo\*.lnk", "C:\Documents and Settings\"+UserName+"\Escritorio", true
   ObjCopy.CopyFolder "festo\archivos", "C:\Documents and Settings\"+UserName+"\Menú Inicio\Programas", true
   MsgBox "Instalado", , "Festo"
 End If

End If

BlackZeroX

VBS es un script es decir esto va e el subforo de script... pero bueno con esto QUIZAS funcione...

Código (vbs) [Seleccionar]


ruta = "c:\archivo.txt"
lastattr = GetAttr(ruta)
   SetAttr ruta, lastattr And (Not vbHidden) ' Removemos el atributo oculto si es que lo tiene.
   ' operaciones pertinentes
   SetAttr ruta, lastattr ' Establecemos los atributos originales.



http://psacake.com/web/func/

Dulces Lunas!¡.
The Dark Shadow is my passion.

Eleкtro

#2
Hola,

Cita de: quico5 en 14 Agosto 2012, 19:51 PM
En Windows Vista/7 la carpeta AppData esta oculta y a partir de aí meda error .VBS
ObjCopy.CopyFile "festo\programas\*", "C:\Users\"+UserName+"\AppData\Roaming\Microsoft\Windows\Start Menu\Programs", true
Como mínimo deberías especificar detalladamente el error que manda el script la próxima vez que tengas una duda.
Supongo que el error que aparece en este caso al ejecutar el script es: "PERMISO DENEGADO".

El error no tiene nada que ver con los atributos de APPDATA, No importa si la carpeta está oculta o no lo está.

En lo que estás fallando es aquí, Al escribir las rutas, No le pones un slash al final del nombre de la ruta, Entonces el script lo confunde con un archivo, Y no una carpeta. Ponselo y ya no dará error.
Cita de: quico5 en 14 Agosto 2012, 19:51 PM
ObjCopy.CopyFile "...\Start Menu\Programs\", true

Aquí tienes:
Código (vb) [Seleccionar]
If objUrl.FolderExists("C:\Users\"+UserName+"\Desktop") Then
ObjCopy.CopyFile "test.txt", "C:\Users\" + UserName + "\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\", true
MsgBox "Instalado"
End If


PD: No te olvides de añadirle el slash al resto de rutas de tu script... :)

Saludos