zoukankan      html  css  js  c++  java
  • 管理员权限执行批处理和静默执行regsvr32注册

    公司软件部署经常需要注册.com组件,之前的bat批处理需要右键管理员权限运行才行。这里发布一小段命令可以免去这个步骤。

    @echo off
    color 0
    
    REM ________________________________________________________________
    
    >nul 2>&1 "%SYSTEMROOT%system32cacls.exe" "%SYSTEMROOT%system32configsystem"
    
    if '%errorlevel%' NEQ '0' (
    
        echo 请求管理员权限...
    
        goto UACPrompt
    
    ) else ( goto gotAdmin )
    
    :UACPrompt
    
        echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%getadmin.vbs"
    
        echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%getadmin.vbs"
    
        "%temp%getadmin.vbs"
    
        exit /B
    
    :gotAdmin
    
        if exist "%temp%getadmin.vbs" ( del "%temp%getadmin.vbs" )
    
        pushd "%CD%"
    
        CD /D "%~dp0"
    
    REM ________________________________________________________________
    
    echo=  
    echo=    
    echo 管理员权限已获取,正在执行COM注册******
    echo=
    regsvr32 ****Com.dll /s
    echo 完成****Com.dll注册
    echo=
    echo .COM组件注册完成。
    ping -n 3 127.0.0.1>nul

    此批处理文件必须和.dll文件放在同一个目录执行。

    %cd%         获取当前执行批处理的cmd目录(权限不同目录不同),管理员权限运行目录则为system32

    %~dp0        获取当前目录路径

    %windir%    获取windows目录路径

    %~d0          获取当前盘符

    %~sdp0       获取当前盘符和路径的短文件名格式

    %~f0           获取此批处理的路径

  • 相关阅读:
    poj_2506_Tiling_201407211555
    poj_2524_Ubiquitous Religions_201407211506
    poj_2586_Y2K Accounting Bug_201407211318
    poj_3006_Dirichlet's Theorem on Arithmetic Progressions_201407041030
    POJ训练计划
    nyoj_10_skiing_201405181748
    nyoj_308_Substring_201405091611
    nyoj_205_求余数_201404271630
    hdu_2082_找单词_201404271536
    nyoj_176_队花的烦恼二_201404262008
  • 原文地址:https://www.cnblogs.com/tail-f/p/6723199.html
Copyright © 2011-2022 走看看