我创建了一个批处理文件,该文件转到一系列应用程序目录,并在其中注册所有dll和ocx文件。如果我打开提升的命令提示符并切换到特定的目录并手动输入regsvr命令,则它工作正常。该批处理文件看起来像试图注册每个文件,但它们不会被注册。我试过右键点击它,并告诉它以管理员身份运行(命令窗口不在标题栏中显示“管理员”),但它没有注册。如果我打开一个提升的命令窗口并尝试从那里运行批处理文件,它也不起作用。从批处理文件运行regsvr32不起作用
我也尝试把脚本文件放在c:\ Windows \ System32和C:\ Windows \ SysWOW64中,但没有任何工作。
我也读过,该文件需要是ANSI而不是Unicode,但这也没有帮助。
是否有某种命令,我可以把regsvr,这将强制每一个被提升的行?我不想让用户手动输入所有命令。
这里是我的批处理文件:
chdir c:\program files (x86)\pfps
for /r %%i in (*.dll) do regsvr32 /s %%i
chdir DataManager
for /r %%i in (*.dll) do regsvr32 /s %%i
chdir ..\falcon
for /r %%i in (*.dll) do regsvr32 /s %%i
for /r %%i in (*.ocx) do regsvr32 /s %%i
chdir FVOverlays
for /r %%i in (*.dll) do regsvr32 /s %%i
chdir ..\..\FVImageryService
for /r %%i in (*.dll) do regsvr32 /s %%i
chdir ..\GarminGPSFeed
for /r %%i in (*.dll) do regsvr32 /s %%i
chdir ..\MapDataServer
for /r %%i in (*.dll) do regsvr32 /s %%i
chdir ..\SkyViewNG
for /r %%i in (*.dll) do regsvr32 /s %%i
for /r %%i in (*.ocx) do regsvr32 /s %%i
chdir ..\System
for /r %%i in (*.dll) do regsvr32 /s %%i
for /r %%i in (*.ocx) do regsvr32 /s %%i
尝试引号:'for/r %%我在(* .dll)中做regsvr32/s“%% i”'。 –
这就是诀窍!这些引用使得它起作用了什么? – jdixon
用双引号括起来的路径被视为单路径,即使它包含空格。 – user2956477