@echo off :AQUIRE_ADMINISTRATOR_PRIVILEGE rem 获取管理员权限 rem 首先在%windir%尝试新建文件夹,查看是否有管理员权限 rem 如果新建文件夹成功则删除文件夹,继续操作 rem 如果失败文件夹则新建vbs脚本,通过UAC窗口,获取管理员权限 rem 运行脚本后,删除vbs脚本 md "%windir%\TestAdminPrivilege" > nul cls if '%errorlevel%' == '0' ( rmdir "%windir%\TestAdminPrivilege" & goto gotAdmin ) else (goto UACPrompt) :UACPrompt echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" echo UAC.ShellExecute %0, "", "", "runas", 1 >> "%temp%\getadmin.vbs" "%temp%\getadmin.vbs" exit /B :gotAdmin if exist "%temp%\getadmin.vbs" (del "%temp%\getadmin.vbs") CD /D "%~dp0" :Init REM 设置窗口标题,窗口颜色,并输出提示信息,通过输入来判断跳转到哪里 cls title CMD窗口标题 color A set CHOICE= echo ----------------------------提示信息标题------------------------------------- echo. echo 提示信息内容 echo 提示信息内容 echo. echo ---------------------------------------------------------------------------- echo 您需要以管理员身份运行,或关闭“用户帐户控制(UAC)” echo ---------------------------------------------------------------------------- :RE_INPUT echo. echo 键入 i 安装,键入 r 卸载,键入 q 退出 (键入后请按回车键确认) set /P CHOICE= ^> 选择: if /I "%CHOICE%" == "i" goto INSTALL_DETECT if /I "%CHOICE%" == "r" goto REMOVE if /I "%CHOICE%" == "q" goto END goto INPUT_UNKNOWN :REMOVE echo 删除提示信息 rem del /F /Q FULL_FILE_PATH REM reg IMPORT UNINSTALL_DRIVER.REG goto REMOVE_END :REMOVE_END echo 卸载完毕提示信息 goto END :INSTALL_DETECT REM 判断32位还是64位系统 if /I "%PROCESSOR_ARCHITECTURE%" == "AMD64" goto INSTALL64 if /I "%PROCESSOR_ARCHITECTURE%" == "x86" goto INSTALL32 goto INSTALL_UNKNOWN :INSTALL64 echo 将为您安装64位程序 echo 安装提示信息 REM copy /Y FROM_PATH_64 TO_PATH REM reg IMPORT INSTALL_DRIVER.REG goto INSTALL_END :INSTALL32 echo 将为您安装32位程序 echo 安装提示信息 REM copy /Y FROM_PATH_32 TO_PATH REM reg IMPORT INSTALL_DRIVER.REG goto INSTALL_END :INSTALL_END echo 安装成功提示信息 goto END :INPUT_UNKNOWN echo 键入的信息错误,请重试 goto RE_INPUT :INSTALL_UNKNOWN echo 未能识别您的系统信息,无法为您安装驱动,您可能需要手动安装 goto END :END REM 清理环境变量 echo. set CHOICE= pause
# 使用myuid来执行mycmd # 需要输入密码 runas /noprofile /user:myuid mycmd
# 执行命令时不按enter # 而是按ctrl+shift+enter ctrl+shift+enter