Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 尝试复制Windows Vista文件时拒绝访问_Security_Windows Vista_Batch File_Uac - Fatal编程技术网

Security 尝试复制Windows Vista文件时拒绝访问

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

我有一个需要运行的批处理,用户必须执行它来复制一个简单的xml文件。但是,在windows 2000/XP上,一切都可以正常工作。但是,在windows Vista上,我收到一个错误“拒绝访问”

即使我只是在Vista上使用windows资源管理器尝试复制文件,我也会遇到同样的错误

我可以做些什么来复制这个文件。我需要向bat文件添加额外的代码来复制这个文件吗

非常感谢

@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以来一直存在的一个标准目录,它隐藏在用户的文档和设置或用户文件夹(取决于版本)中。它是一个隐藏但用户可编辑的文件夹,用于用户需要能够访问的应用程序设置,但主要只供您的代码使用

  • 您需要提升权限才能复制到%windir%\system32
  • 您根本不应该将配置数据复制到%windir%中。这是针对Windows的。请使用%AppData%
  • 如果要复制到%windir%,请使用%windir%变量,不要硬编码路径C:\Windows

  • 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#相关的内容,因此我冒昧地删除了标签并在帖子中提及。如果我错了,请将其放回原处。