标题: [系统增强] 批处理在windows下的经典应用:批量注册DLL文件 [打印本页]
作者: AK47 时间: 2008-10-23 16:49 标题: 批处理在windows下的经典应用:批量注册DLL文件
有时候用电脑的时候遇到由于DLL文件丢失或损坏而造成的种种故障,大家都只知道只要重新注册一下DLL文件就可以了,但是对于新手来说即使知道是DLL文件损外,但是不知道是哪个DLL文件也束手无策,所以用这个批处理可以循环注册DLL文件,达到解决由于DLL丢失的种种故障!- for %%i in (%windir%\system32\*.dll) do regsvr32.exe /s %%i
复制代码
作者: Batcher 时间: 2008-10-23 17:30
楼主这个代码从哪里copy的?为何用for /l呢?
作者: AK47 时间: 2008-10-23 17:33
在电脑爱好者上面看到的,不好意思,我记错了 /l 可以不用,我已经改过来了
作者: batman 时间: 2008-10-23 17:36
原帖由 AK47 于 2008-10-23 17:33 发表
在电脑爱好者上面看到的,不好意思,我记错了 /l 可以不用,我已经改过来了
这样就可以了吗?
作者: pusofalse 时间: 2008-10-23 17:39
可以不用?、说得好像可有可无一样。在此处绝对不能用/l。
当然若不嫌麻烦也可以使用,绕死。。。代码中还有一处不严谨之处。。。
[ 本帖最后由 pusofalse 于 2008-10-23 17:42 编辑 ]
作者: AK47 时间: 2008-10-23 17:54
原帖由 pusofalse 于 2008-10-23 17:39 发表
可以不用?、说得好像可有可无一样。在此处绝对不能用/l。
当然若不嫌麻烦也可以使用,绕死。。。代码中还有一处不严谨之处。。。
还请指教
作者: pusofalse 时间: 2008-10-23 18:13
regsvr32.exe /s c:\windows\test.dll 这样能注销test.dll没错,但现在是用for中的变量%%i代替dll文件,所谓“变量”即是你不知道它的值是什么样的,如果其中包含空格呢,就会出错了。。。还有%windir%一般会扩展为c:\windows,但如果是类似于d:\win dows这样的,同样也会因为路径信息没有被闭合而被当成了两个参数,(虽然这样的几率很小)。。。所以,凡是路径最好都用""闭合,这是一个很好的习惯。- @for %%a in ("%windir%\*.dll") do echo regsvr32 /s "%%~a"
复制代码
为了保险,还是先用echo输出。。。
作者: AK47 时间: 2008-10-24 09:30
非常感谢, 我明白了
作者: make 时间: 2008-11-2 13:34
我怎么试了之后没用了
作者: hy55310 时间: 2009-6-28 18:42
很好用,我试过了7楼版主说得不错
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |