I have this batch that needs to run that the user has to execute that will copy a simple xml file. However, everything works fine on windows 2000/XP. However, on windows Vista I get an error ‘Access Denied”.
Even when I try and copy the file just using windows explorer on Vista I get the same error.
Is there anything I can do to make this file copy. Do I have to add any extra code to my bat file to enable copying of this file?
Many thanks.
@ECHO OFF
REM copy config file to the windows/system32
copy config.xml c:\windows\system32\DataLinks.xml
I’m guessing it’s because you’re trying to change windows\system32. Vista, 7 and future version of Windows require elevated privileges in order to change system32.
Do you really need to put this file in system32? If it’s an arbitrary location, why not pop it in the user’s AppData directory (%AppData%\DataLinks.xml)?
AppData is a standard directory that’s been around since Windows 2000 that hides in the user’s Documents and Settings or Users folder (depending on the version). It’s a hidden but user-editable folder, intended for application settings that the user needs to be able to get to but is mostly only going to be used by your code.