Security 尝试复制Windows Vista文件时拒绝访问
我有一个需要运行的批处理,用户必须执行它来复制一个简单的xml文件。但是,在windows 2000/XP上,一切都可以正常工作。但是,在windows Vista上,我收到一个错误“拒绝访问” 即使我只是在Vista上使用windows资源管理器尝试复制文件,我也会遇到同样的错误 我可以做些什么来复制这个文件。我需要向bat文件添加额外的代码来复制这个文件吗 非常感谢Security 尝试复制Windows Vista文件时拒绝访问,security,windows-vista,batch-file,uac,Security,Windows Vista,Batch File,Uac,我有一个需要运行的批处理,用户必须执行它来复制一个简单的xml文件。但是,在windows 2000/XP上,一切都可以正常工作。但是,在windows Vista上,我收到一个错误“拒绝访问” 即使我只是在Vista上使用windows资源管理器尝试复制文件,我也会遇到同样的错误 我可以做些什么来复制这个文件。我需要向bat文件添加额外的代码来复制这个文件吗 非常感谢 @ECHO OFF REM copy config file to the windows/system32 copy con
@ECHO OFF
REM copy config file to the windows/system32
copy config.xml c:\windows\system32\DataLinks.xml
我猜这是因为您试图更改windows\system32。Vista、7和windows的未来版本需要提升权限才能更改system32 您真的需要将此文件放在system32中吗?如果它是任意位置,为什么不将其放在用户的AppData目录(%AppData%\DataLinks.xml)中 AppData是自Windows 2000以来一直存在的一个标准目录,它隐藏在用户的文档和设置或用户文件夹(取决于版本)中。它是一个隐藏但用户可编辑的文件夹,用于用户需要能够访问的应用程序设置,但主要只供您的代码使用
JS Bangs是正确的;使用%windir%变量。大多数情况下,这样做不会产生任何错误 例如:
@ECHO OFF
REM copy config file to the windows/system32
copy config.xml %windir%\system32\DataLinks.xml
但你会什么时候呢?把它放在其他任何一个。就像AppData已经说过的:
@ECHO OFF
REM copy config file to the windows/system32
copy config.xml %appdata%\DataLinks.xml
您好,是的。我认为这是一个更好的主意。但是,windows xp有相同的文件夹吗?因为这将同时安装在xp/vista和可能的windows未来版本上?他说。。这是从Windows 2000开始出现的..“从Windows 2000开始出现”。很抱歉,我没有直截了当地思考。谢谢,我没有看到任何与C#相关的内容,因此我冒昧地删除了标签并在帖子中提及。如果我错了,请将其放回原处。