我想创建一个bat文件,该文件从用户获取dll的完整路径并执行regsvr32命令,但我无法以某种方式执行此操作。这就是我试过的:
@echo off
set /p id="Paste full path of the DLL and hit enter"
C:\Windows\System32\cmd.exe /k REGSVR32 %id%
PAUSE
注意:
命令示例:
REGSVR32 /u C:\Windows\System32\cabview.dll
答案 0 :(得分:0)
Compo和我在你的代码中注意到了一些错误。
首先关闭:
C:\Windows\System32\cmd.exe /k REGSVR32 %id%
有点奇怪。因此,您正在调用cmd
执行另一个cmd
命令,为什么不执行REGSVR32 %id%
。很多新的批处理脚本编写者都会因为启动另一个cmd
实例而疯狂。
然后:
REGSVR32 %id%
如果%ID%
包含特殊字符或空格,则永远不会有效!即使echo %ID%
正常工作!!! 我们需要使用引号("
)来强制路径/或%id%
这样。
RESVR32 "%id%"
最后:
批处理文件命令 与示例输出不匹配!你错过了/u
旗帜
这些是非常简单的错误,我希望您在Stack Overflow中询问之前调试过脚本,这些问题将会被关闭。