2009-05-15 3 views
2

J'ai ce lot à exécuter que l'utilisateur doit exécuter pour copier un simple fichier xml. Cependant, tout fonctionne bien sur Windows 2000/XP. Toutefois, sur Windows Vista, je reçois une erreur « Accès refusé ».Accès refusé lors de la tentative de copie du fichier Windows Vista

Même quand je tente de copier le fichier juste en utilisant l'explorateur Windows Vista je reçois la même erreur.

Est-ce que je peux faire pour cette copie fichier. dois-je ajouter un code supplémentaire à mon dossier de chauve-souris pour permettre la copie de ce fichier?

Un grand merci.

@ECHO OFF 
REM copy config file to the windows/system32 
copy config.xml c:\windows\system32\DataLinks.xml 
+0

Je n'ai rien vu de C#, donc j'ai pris la liberté d'enlever le tag et de le mentionner dans le post. Si j'ai tort, veuillez le remettre. –

Répondre

5

Je devine que c'est parce que vous essayez de changer les fenêtres \ system32 Vista, 7 et la future version de Windows nécessitent un privilège élevé des heures pour changer de système32.

Avez-vous vraiment besoin de mettre ce fichier dans system32? Si c'est un emplacement arbitraire, pourquoi ne pas le placer dans le répertoire AppData de l'utilisateur (% AppData% \ DataLinks.xml)? AppData est un répertoire standard depuis Windows 2000 qui se cache dans le dossier Documents and Settings ou Users de l'utilisateur (en fonction de la version). Il s'agit d'un dossier caché mais modifiable par l'utilisateur, destiné aux paramètres de l'application auxquels l'utilisateur doit pouvoir accéder, mais qui ne sera principalement utilisé que par votre code.

+0

Bonjour, Oui. Je pense que ce serait une meilleure idée. Cependant, Windows XP a-t-il le même dossier? Comme cela serait installé à la fois xp/Vista et éventuellement les futures éditions de Windows? – ant2009

+0

Il a dit ".. cela a été autour depuis Windows 2000 .." – xian

+0

J'ai édité cela en guise de réponse, cependant. – Merus

2
  1. Vous avez besoin privs élevées pour copier% windir% \ system32
  2. Vous ne devez pas copier vos données de configuration en% windir% du tout. C'est pour Windows. Utilisez% AppData%.
  3. Si vous ne copiez% windir%, utilisez la variable% windir% et ne pas coder en dur le chemin C: \ Windows
0

JS Bangs est juste; utilisez% windir% variable. La plupart du temps quand vous faites cela, il ne donnera aucune erreur.

Exemple:

@ECHO OFF 
REM copy config file to the windows/system32 
copy config.xml %windir%\system32\DataLinks.xml 

Mais alors que voulez-vous? Il suffit de le mettre dans un autre. Comme AppData ce qui a déjà été dit:

@ECHO OFF 
REM copy config file to the windows/system32 
copy config.xml %appdata%\DataLinks.xml 
Questions connexes