copy all contents of a folder to user's desktop VBS Logon Script

Hello, I am looking to copy some links and such to the desktop of my user's computers using a VB logon script.  any ideas?
OSXaddictAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

astroviperCommented:
Just change strSource to the folder that contains everything you want to end up on the desktop.

strSource = "E:\test"
 
Const FOF_CREATEPROGRESSDLG = &H0&
Set oShell = CreateObject("WScript.Shell")
ParentFolder = oShell.SpecialFolders("Desktop")
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(ParentFolder) 
objFolder.CopyHere strSource & "\*", FOF_CREATEPROGRESSDLG

Open in new window

0
OSXaddictAuthor Commented:
Thank you! Will this replace the item if it is already on the desktop?
0
astroviperCommented:
See: http://msdn.microsoft.com/en-us/library/bb787866%28VS.85%29.aspx

I just tested it and it works the same as a Windows gui copy. It asks if you want to replace.
0
OSXaddictAuthor Commented:
is there any way that I can make it force to replace?
0
astroviperCommented:
http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_21512937.html

This seems to work.


Set oShell = CreateObject("WScript.Shell")
ParentFolder = oShell.SpecialFolders("Desktop")
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oSourceFolder = oFSO.GetFolder("C:\Users\Mike\Downloads\remote admin tools windows 7")
Set oTargetFolder = oFSO.GetFolder(ParentFolder)
 
RecursiveCopy oSourceFolder, oTargetFolder, True
 
Sub RecursiveCopy(ByRef oSource, ByRef oTarget, ByVal bOverWrite)
 
    Dim oFolder, oFile, szPath
 
    For Each oFile In oSource.Files
        szPath = Replace(oTarget.Path & "\" & oFile.Name, "\\", "\")
        If (oFSO.FileExists(szPath) And bOverWrite) Then
            If oFile.DateLastModified > oFSO.GetFile(szPath).DateLastModified Then oFile.Copy szPath, bOverWrite
        ElseIf (oFSO.FileExists(szPath) And Not(bOverWrite)) Then
            'DO NOTHING BECAUSE WE ARE NOT OVERWRITING
        ElseIf Not(oFSO.FileExists(szPath)) Then
            oFile.Copy szPath, bOverWrite
        End If
    Next
 
    For Each oFolder In oSource.Subfolders
        szPath = Replace(oTarget.Path & "\" & oFolder.Name, "\\", "\")
 
        If Not(oFSO.FolderExists(szPath) And bOverWrite) Then
            Set oNewTarget = oFSO.CreateFolder(szPath)
        Else
            Set oNewTarget = oSO.GetFolder(szPath)
        End If
 
        RecursiveCopy oFolder, oTarget, bOverWrite
    Next
 
End Sub

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
VB Script

From novice to tech pro — start learning today.