查看: 481  |  回复: 0
  VB6 解决ActiveEXE注册时“未预期错误;退出”和“不是内部或外部命令”的问题。神奇的批处理目录%~dp0
楼主
发表于 2024年3月30日 23:45

如果运行遇到ActiveEXE,运行时错误'-2147221164(80040154)':没有注册类”

写个批处理,用管理员方式运行 reg-dll.bat,代码如下:

%~dp0YouActiveExeName /RegServer
pause

其中:

%~dp0 是当前目录,以\结束
“未预期错误;退出”是由于没用管理员方式运行导致。

ActiveEXE在第一次运行即可注册成功。

在批处理文件run.bat中,可以对当前目录的abc.exe运行:

%~dp0\abc.exe

也可以:

cd %~dp0
abc.exe

资料:

%~dp0中的“d”代表驱动器或磁盘,“p”代表路径。cd是改变目录的命令,%~dp0用于指定当前批处理文件所在的驱动器和路径。因此,%~dp0 cd %~dp0 的组合可以将批处理文件所在的目录作为起始点。
选项语法中,~0去掉引号并扩展%0到一个完全合格的路径名。%~f0扩展到一个完全合格的路径名。%~d0扩展到一个驱动器号。%~p0扩展到一个路径。%~n0扩展到一个文件名。%~x0扩展到一个文件扩展名。%~s0扩展到短文件名。%~a0扩展到文件属性。%~t0扩展到文件日期/时间。%~z0扩展到文件大小。%~$PATH:0在路径环境变量中查找目录,并扩展%0到找到的第一个完全合格的名称。
可以组合修饰符来获得多重结果。例如,%~dp0扩展到驱动器号和路径。%~nx0扩展到文件名和扩展名。%~fs0扩展到带有短名的完整路径名。%~dp$PATH:0在路径环境变量中查找目录,并扩展%I到找到的第一个驱动器号和路径。%~ftza0扩展到类似DIR命令的输出。
值得注意的是,%0代表当前批处理文件,而%1代表第一个参数,%2代表第二个参数。这样,批处理文件可以根据不同的参数执行不同的任务。

您需要登录后才可以回帖 登录 | 立即注册
【本版规则】请勿发表违反国家法律的内容,否则会被冻结账号和删贴。
用户名: 立即注册
密码:
2020-2025 MaNongKu.com