Avatar billede john_doex Nybegynder
25. september 2006 - 14:44 Der er 9 kommentarer og
1 løsning

Kopiere mappe fra netværk, til fortrukne på den lokale bruger

Hej  Jeg ønsker et script som kan kopiere en mappe fra en netværksmappe \\servernavn\mappe, til brugerens lokale fortrukne. For ikke skulle lave en ny for hver bruger skal der benyttes en variabel til %USERPROFILE%.
Har lavet en simpel version, som dog ikke understøtter %USERPROFILE%
Set fso = CreateObject("Scripting.FileSystemObject")
fso.copyFolder "\\servernavn\mappe","C:\Documents and Settings\user\Favorites",True

Er der nogle kvikke folk som kan lave scriptet om så det understøtter variabler?
Avatar billede ejvindh Ekspert
25. september 2006 - 15:14 #1
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set WshVolatileEnvironment = WshShell.Environment("Volatile")
homedr = WshVolatileEnvironment("homedrive")
homepa = WshVolatileEnvironment("homepath")
Set fso = CreateObject("Scripting.FileSystemObject")
fso.copyFolder "\\servernavn\mappe",homedr & homepa & "\Favorites",True
Avatar billede john_doex Nybegynder
25. september 2006 - 15:24 #2
Er rimelig ny til VBscript.
Så hvis du lige kan uddybe hvad der skal angives for henholdsvis homedrive, og homepath. Med andre ord, lidt forklarende tekst om dem, så jeg forstår det lidt bedre. :o)
Avatar billede ejvindh Ekspert
25. september 2006 - 15:43 #3
Alt i orden ;-)

Men den manglende forklaring indikerer faktisk at der ikke er noget at forklare. Bare kopier den angivne tekst direkte over i en vbs-fil. Så burde scriptet selv afdække hvad brugernavnet på den aktuelle bruger er :-)
Avatar billede john_doex Nybegynder
25. september 2006 - 16:10 #4
Okay, se det forklarede allerede lidt mere. Det eneste problem er at den melder fejl i linje 6, med procedurekaldet eller argumentet er ugyldigt. Derfor ønsket om den uddybende forklaring.

Dette er den test jeg laver, hvor der ligger en mappe med links som skal kopieres over i fortrukne.

Set WSHShell = WScript.CreateObject("WScript.Shell")
Set WshVolatileEnvironment = WshShell.Environment("Volatile")
homedr = WshVolatileEnvironment("homedrive")
homepa = WshVolatileEnvironment("homepath")
Set fso = CreateObject("Scripting.FileSystemObject")
fso.copyFolder "\\xp201212\test",homedr & homepa & "\Favorites",True

Kan du forklare hvorfor fejlen opstår.
Tak for hjælpen indtil videre.
Avatar billede ejvindh Ekspert
25. september 2006 - 16:23 #5
Jeg har nu prøvet at teste programmet lidt bedre, og den eneste fejl jeg kunne finde var, at der manglede en backslash efter "favorites" i sidste linie. Men det burde ikke give den fejl som du nævner. Hvilket styresystem kører du med? Prøv at køre følgende udgave, hvor der er indføjet en echo-linie. Check så om det er den rigtige sti, der toner frem:

Set WSHShell = WScript.CreateObject("WScript.Shell")
Set WshVolatileEnvironment = WshShell.Environment("Volatile")
homedr = WshVolatileEnvironment("homedrive")
homepa = WshVolatileEnvironment("homepath")
Set fso = CreateObject("Scripting.FileSystemObject")
wscript.echo homedr & homepa & "\Favorites\"
fso.copyFolder "\\xp201212\test",homedr & homepa & "\Favorites\",True
Avatar billede john_doex Nybegynder
25. september 2006 - 16:38 #6
Det er en XP i et 2003 domæne.
Jeg tror jeg har fundet problemet.
Homedrive er et netværksdrev, hvor Favorites ikke ligger.
Kaldet homedr & homepa & "\Favorites\" giver s:\\Favorites\.
Men fortrukne ligger på C:\Documents and Settings\%username%\Favorites

Kan du rette det til, så tror jeg det skulle virke efter hensigten.
Så tror jeg også du har fortjent mere end 150 point.
Avatar billede ejvindh Ekspert
25. september 2006 - 16:52 #7
Prøv så dette. Jeg har stadig indsat en test-linie inden den sidste linie, så vi kan holde øje med, om din maskine kender de variabler, som jeg trækker på:

Set WSHShell = WScript.CreateObject("WScript.Shell")
Set WshProcessEnvironment = WshShell.Environment("Process")
usr = WshProcessEnvironment("username")
Set fso = CreateObject("Scripting.FileSystemObject")
wscript.echo "c:\documents and settings\" & usr & "\Favorites\"
'fso.copyFolder "\\xp201212\test", "c:\documents and settings\" & usr & "\Favorites\", True
Avatar billede ejvindh Ekspert
25. september 2006 - 16:53 #8
Hov, sorry. Du skal fjerne første tegn i sidste linie, for at køre scriptet.
Avatar billede john_doex Nybegynder
25. september 2006 - 17:05 #9
Så spiller det. :o)
Du skal have tusinde tak for din indsats, og for dine hurtige tilbagemeldinger.

Nu vil jeg gå videre med at rette det sidste til, så du har gjort min hverdag lidt nemmere.

Venlig hilsen Rasmus
Avatar billede ejvindh Ekspert
25. september 2006 - 17:07 #10
Du er velkommen, og dejligt at vi fik det til at virke :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester