Link to home
Start Free TrialLog in
Avatar of drgleockler
drgleocklerFlag for United States of America

asked on

Copy a file to all profile directories.

I have a preferences file that I need to copy to all active users' profile directory. I have a mixed Windows XP and Windows 7 environment. Not sure what the easiest way to do this would be.
Avatar of wantabe2
wantabe2
Flag of United States of America image

Why not just create a network share on a file server & map each user to that directory with a login script or you could go to each computer & add the file to the pulic / all user directory.
Avatar of drgleockler

ASKER

Is there one script that would work for windows xp and windows 7? My scripting is a bit rusty....I have the file in a network share already.
Also, the file has to be added to the actual profiles on each pc not the public/all user directory.
Avatar of kevinhsieh
How easy it is depends on where you need to have it in the profile structure. Can you please give the exact patch for Windows XP and Windows 7 users?

This can be done using group policy preferences, or a login script. There might be some WMI filters or other logic involved to determine the path to copy the file to. Whether or not you need to keep the file as an exact copy of the original, or it you just need to get it in the profile once, will also help determine the path to take with this.

It might be as simple as

copy \\server\share\path\file.ext %userprofile%\path
You can use a script to determine the operating system, and therefore the correct path required, for situations where on XP you need to copy a file to
%userprofile%\Application Data\AppName

or on Windows 7 you need to copy a file to
%userprofile%\AppData\Roaming\AppName

Let us know the path that you need to copy the file to, and also whether you want it overwritten at each login (as kevinhsieh has noted), and we can help further.

Regards

Rob.
The file is a preferences file that needs to go in the root of the user profile. so for windows 7 it needs to go to C:\Users\%profilename%\ and for Windows XP C:\Documents and Settings\%profilename%.

For some users it will be the first time the file has been added...for other users it needs to overwrite the current preference file.

If you need anymore information, please let me know. I had been away for training...sorry I didn't get back to you.
ASKER CERTIFIED SOLUTION
Avatar of kevinhsieh
kevinhsieh
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
kevinhsieh is right, if it goes in the root of the profile, then %userprofile% corresponds to each path you have listed whether you're on XP or Windows 7.  This is the VBS version of that.

Regards,

Rob.

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
strFileToCopy = "\\server\share\settings.ini"
strUserProfile = objShell.ExpandEnvironmentStrings("%userprofile%")
objFSO.CopyFile strFileToCopy, strUserProfile & "\", True

Open in new window