0

我正在尝试创建一个 bat 文件来复制一个 dll 以粘贴到 Windows 文件夹中,该文件已经存在于 Windows 中,但我想打印自己的。

我的代码是:

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

我可以从 windows ce、everywan 或 activesync 手动复制/粘贴它,但是由于文件位置,命令终端不起作用,文件是隐藏/只读/和系统文件,属性命令不起作用.

并且每次涉及 \windows\shdolc.dll 时都会给我一个错误,但是如果我更改文件名或位置,则副本可以正常工作。

我认为这是命令提示符权限的问题,但不知道如何更改它。

4

2 回答 2

0

出于某种原因,复制命令不允许您复制系统文件。属性命令不允许您更改系统文件属性,但移动命令允许您替换系统文件,所以我的代码最终是:

复制 \Application\shdoclc.dll \Temp\shdoclc.dll
移动 \Temp\shdoclc.dll \Windows\shdoclc.dll
于 2012-07-03T08:52:07.133 回答
0

Windows 将该文件作为受保护的文件,因此只要更改它就会恢复它。
这是解决这个问题的秘籍(不幸的是,我没有ce可以测试,只有 XP)

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

这会将您的版本复制到缓存中,当实际文件被删除时,Windows 会恢复它在 dllcache 中备份的版本。

于 2012-07-02T17:39:46.000 回答