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
Mi idea seria cambiar los atributos antes y despues de esta linea, ¿que me aconsejan? gracias
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
VBS es un script es decir esto va e el subforo de script... pero bueno con esto QUIZAS funcione...
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!¡.
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:
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