日期:2014-05-17  浏览次数:20594 次

在一个不固定的文件夹内注册多个dll文件的bat怎么写(新手求助)
各位大大现在有个问题问大家一下。我自己写了一个程序,不过这个程序有依赖的动态链接库,在每一个新使用软件的电脑上都需要先注册多个dll文件,请问这个bat应怎么写?各位大大帮忙写一下,谢谢!
我的文件夹是不固定的,例如我程序在D:\myProject文件夹下,里面有我的程序和一个myDll文件夹,myDll内有多个dll,这样应该怎么把myDll内的dll全部注册呢?然后反注册呢?

------解决方案--------------------
bat的话,遍历目录用FOR命令

FOR /R D:\myProject\myDll %%i (*.dll) DO copy %%~i C %SystemRoot%\system32

其中 %i是当前循环变量(如果直接命令行,用%i如果是在批处理里面写代码,需要转义为%%i)

/R代表遍历目录,后面为起始目录,括号中是要查找的文件名的通配符 DO后面,是针对每次for循环的当前变量执行的命令如果多个命令的话可以用括号(相当于java的{})

FOR /R D:\myProject\myDll %%i (*.dll) DO (
echo %%~i
copy %%~i C %SystemRoot%\system32
)

另外,如果lz的注册的意思是调用regsvr32的话,请使用响应的regsv32 /i