无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2751|回复: 16
打印 上一主题 下一主题

[已解决] 批处理如何删除权限文件

[复制链接]
跳转到指定楼层
1#
发表于 2017-5-3 09:53:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zhoubin 于 2017-5-7 17:14 编辑

这里高手多,此贴先发在这里。。。
如题:
windows下需要删除C:\Windows\System32\mscoree.dll和C:\Windows\SysWOW64\mscoree.dll,如何用批处理删除?
另外如何把
  1. %Windir%\System32\regsvr32.exe /u /s %WinDir%\System32\mscoree.dll
  2. del %WinDir%\System32\mscoree.dll /f /q
  3. %Windir%\System32\regsvr32.exe /u /s %WinDir%\SysWOW64\mscoree.dll
  4. del %WinDir%\SysWOW64\mscoree.dll /f /q
复制代码
写为一句批处理?
或者把
  1. del %WinDir%\System32\mscoree.dll /f /q
  2. del %WinDir%\SysWOW64\mscoree.dll /f /q
复制代码
写为一句批处理?
谢谢!!!

说明一下:以上批处理在windows下都删除不了C:\Windows\System32\mscoree.dll和C:\Windows\SysWOW64\mscoree.dll文件!!!

---------------------------------------------解决办法(批处理)-------------------------------------------------------------------
批处理一:
  1. for %%a in (System32 Syswow64) do echo n|copy /-y %WinDir%\%%a\mscoree.dll %WinDir%\%%a\mscoree.备份&%Windir%\System32\regsvr32.exe /u /s %WinDir%\%%a\mscoree.dll&%WinDir%\System32\takeown.exe /f %WinDir%\%%a\mscoree.dll /a&%WinDir%\System32\icacls.exe %WinDir%\%%a\mscoree.dll /grant Everyone:F&ren %windir%\%%a\mscoree.dll mscoree.bak
复制代码

或者批处理二:
  1. for %%a in (System32 Syswow64) do echo n|copy /-y %WinDir%\%%a\mscoree.dll %WinDir%\%%a\mscoree.备份&%Windir%\System32\regsvr32.exe /u /s %WinDir%\%%a\mscoree.dll&%WinDir%\System32\takeown.exe /f %WinDir%\%%a\mscoree.dll /a&%WinDir%\System32\icacls.exe %WinDir%\%%a\mscoree.dll /grant Everyone:F&move %windir%\%%a\mscoree.dll %windir%\%%a\mscoree.bak
复制代码

这两个批处理都可以,发现一个怪现象:在某些64位系统中命令行工具要用绝对路径,所以我这里的regsvr32、takeown、icacls都用的是绝对路径。。。
这两个批处理根据自己的需要酌情修改使用吧!!!
最后感谢frg521,感谢各位老大的热情相助,谢谢!

2#
 楼主| 发表于 2017-5-3 10:00:33 | 只看该作者
哦,忘了,删除C:\Windows\System32\mscoree.dll和C:\Windows\SysWOW64\mscoree.dll前注意,先备份一下:
  1. echo n|copy /-y %WinDir%\System32\mscoree.dll %WinDir%\System32\mscoree.bak
  2. echo n|copy /-y %WinDir%\SysWOW64\mscoree.dll %WinDir%\SysWOW64\mscoree.bak
复制代码

谢谢大家了!!!
回复

使用道具 举报

3#
发表于 2017-5-3 11:45:19 | 只看该作者
删除不了是不是那个服务用了这个动态库?
回复

使用道具 举报

4#
发表于 2017-5-3 13:53:30 | 只看该作者
进PE删  so  easy
回复

使用道具 举报

5#
 楼主| 发表于 2017-5-3 16:16:48 | 只看该作者
frg521 发表于 2017-5-3 15:06
如果不备份还难,备份反而容易了,
直接改后缀 为bak即可,
不同目录使用move
  1. for %%a in (system32 syswow64)do move %windir%\%%a\mscoree.dll %windir%\%%a\mscoree.bak
  2. pause
复制代码

64位win7下无效,窗口一闪而过。。。
什么也没看到!!
谢谢!
回复

使用道具 举报

6#
发表于 2017-5-3 16:27:38 | 只看该作者
文件被占用了吧,这个文件注册之后应该删不掉。解注册之后刷新下explorer.exe进程再试试
回复

使用道具 举报

7#
 楼主| 发表于 2017-5-3 17:04:51 | 只看该作者
不是这个问题吧,你的第二个批处理是不是有问题?
重命名是这样的吧:
  1. ren %windir%\System32\mscoree.dll mscoree.bak
复制代码
回复

使用道具 举报

8#
 楼主| 发表于 2017-5-3 17:08:17 | 只看该作者
回复

使用道具 举报

9#
 楼主| 发表于 2017-5-3 17:12:07 | 只看该作者
frg521 发表于 2017-5-3 17:08
上传你的批处理文件

新建文本文档.7z (306 Bytes, 下载次数: 6)
回复

使用道具 举报

10#
 楼主| 发表于 2017-5-3 17:30:09 | 只看该作者
  1. for %%a in (system32 syswow64) do ren %windir%\%%a\mscoree.dll mscoree.bak
  2. pause
复制代码

你的重命名文件改成这样就ok了!!!

移动文件
  1. for %%a in (system32 syswow64) do move %windir%\%%a\mscoree.dll %windir%\%%a\mscoree.bak
复制代码

也ok了!

取得权限,我写成这样了,貌似有效
  1. icacls %WinDir%\System32\mscoree.dll /grant Everyone:F
复制代码

他和
  1. takeown /f %WinDir%\System32\mscoree.dll /a
复制代码
不知有什么区别。。。
这两句也不知是那一句起的作用,反正可以重命名了,这样也不错。。。

您的思路很好,谢谢您啊。。。
我批处理基本就不会,见笑了。。。
回复

使用道具 举报

11#
 楼主| 发表于 2017-5-3 17:33:56 | 只看该作者
frg521 发表于 2017-5-3 17:24
其中批处理%%a   命令行是%a   还有写代码输入法必须英文,你上传的右边括号是中文的,

着急着,上传%a忘了改成%%a了,别见怪,给指导一下,取得权限批处理写的对不对。。。
谢谢!!!
回复

使用道具 举报

12#
 楼主| 发表于 2017-5-3 17:40:51 | 只看该作者
frg521 发表于 2017-5-3 17:36
可能都有效,一个取得所有者takeown先运行,再改权限icacls有时不取得所有者,还不了权限,所有者只有一个 ...

我再整理,验证一下批处理,稍后我会贴出完整的代码到顶楼。。。
谢谢您!!!
回复

使用道具 举报

13#
 楼主| 发表于 2017-5-3 18:46:49 | 只看该作者
frg521 发表于 2017-5-3 17:45
最后一贴,4个代码一行模板,
for %a in (system32 syswow64) do regsvr32 省略%a\a.dll /u &tokeown 省略 ...

已在顶楼修改,感谢您的热情相助,谢谢!!!
回复

使用道具 举报

14#
 楼主| 发表于 2017-5-4 17:19:45 | 只看该作者
经反复测试,若不能直接删除文件,通过改名、移动等变相删除这两个文件的方式,还是有些问题的。。。
唉,算了,还是老老实实地进pe里去删除C:\Windows\System32\mscoree.dll和C:\Windows\SysWOW64\mscoree.dll这两个文件!!!
回复

使用道具 举报

15#
 楼主| 发表于 2017-5-4 21:13:05 | 只看该作者
精简dot4.0中,想在pe和windows中都可以使用,windows中需要提换C:\Windows\System32\mscoree.dll和C:\Windows\SysWOW64\mscoree.dll这两个文件,我进pe后删除C:\Windows\System32\mscoree.dll和C:\Windows\SysWOW64\mscoree.dll重启windows7 sp0系统,用精简版dot4.0测试dot4.0软件,没有问题,再次重启windows系统,测试dot4.0软件也没有问题。。。
用你这个方法删除文件,用精简版dot4.0测试dot4.0软件,不重启windows7 sp0也没有问题,但问题是:我重启windows7 sp0系统后,再次测试dot4.0软件,却提示我要安装dot4.0,大致是这个意思(没有截图),我下午刚把虚拟机的windows7系统删了,因为我的物理机硬盘太小(120G)。。。
回复

使用道具 举报

16#
 楼主| 发表于 2017-5-4 21:15:24 | 只看该作者
本帖最后由 zhoubin 于 2017-5-4 21:18 编辑

补充说明一下:你的批处理很好,没有问题,可能是windows7的问题!!!
顺便问一下:tskill winlogon是什么意思?谢谢。。。
回复

使用道具 举报

17#
 楼主| 发表于 2017-5-7 17:22:25 | 只看该作者
重装物理机系统,经过一番折腾,没有再出现16楼所说的错误情况。。。
你的方法是可行的。。。
谢谢您,感谢您的指导,再次感谢!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-29 10:41

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表