2012-07-02 3 views
0

Je suis en train de créer un fichier bat pour copier une DLL à coller dans le foler windows, le fichier existe déjà dans Windows mais je veux imprimer le mien.windows ce 5.0 autorisation de copie de chauves-souris

Le code que j'ai est:

DIR \Windows\shdoclc.dll 
icacls \Windows\shdoclc.dll 
ATTRIB -R -S -H \Windows\shdoclc.dll 
COPY \Temp\shdoclc.dll \Windows\shdoclc.dll 
pause 

Je peux copier/coller manuellement à partir de windows ce, EveryWAN ou activesync, mais le terminal de commande ne fonctionne pas à cause de l'emplacement du fichier, le fichier est hidden/read only/et un fichier système, la commande attribute ne fonctionne pas.

et il me donne une erreur chaque fois que le \ windows \ shdolc.dll est impliqué, mais si je change le nom ou l'emplacement du fichier la copie fonctionne bien.

Je pense que c'est un problème avec l'autorisation de l'invite de commande, ne sachez pas comment le changer.

Répondre

0

Windows a ce fichier en tant que protected file, il le restaurera dès qu'il sera modifié.
Voici un tricheur pour contourner cette (malheureusement, je n'ai pas CE à tester, seulement XP)

COPY \Temp\shdoclc.dll %systemroot%\system32\dllcache 
DEL %systemroot%\shdoclc.dll 

Cette copie votre version dans le cache, et lorsque le fichier réel est supprimé , Windows restaure la version qu'il a sauvegardée dans le dllcache.

+0

C'est un type très spécial d'OS, j'ai essayé de trouver la source de la sauvegarde, mais je ne l'ai pas trouvé, ce qui explique pourquoi je suis en train de faire une chauve-souris pour copier la DLL au démarrage. –

0

Pour une raison quelconque, la commande de copie ne vous permet pas de copier sur un fichier système. la commande d'attribut ne vous permet pas de changer l'attribut de fichier système, mais la commande move vous permet de remplacer un fichier système, de sorte que mon code finit par être:

fenêtres
copy \Application\shdoclc.dll \Temp\shdoclc.dll 
MOVE \Temp\shdoclc.dll \Windows\shdoclc.dll
Questions connexes