Windows 批处理自启动脚本 + 以管理员身份运行完整教程

本文档提供一个完整的解决方案:实现,同时加入用户名白名单验证,并确保程序始终以管理员权限运行

核心技巧:通过启动一个已设置为“以管理员身份运行”的快捷方式,来保证权限提升不会丢失。

最终效果

  • 只有白名单中的用户登录时才会自动运行程序
  • 程序一定以管理员权限启动
  • 不允许的用户会看到拒绝提示并自动退出
  • 启动后批处理窗口自动关闭,不留任何停顿提示(适合后台自启)

第一部分:创建以管理员身份运行的快捷方式

  1. 打开文件夹
    路径:C:\Users\cloud-guest\Desktop\GameTools\auto-bgi

  2. 找到主程序的可执行文件
    通常是 auto-bgi.exe(或类似名称的 .exe 文件)

  3. 右键该 .exe 文件 → 创建快捷方式
    系统会在同一文件夹生成一个 “auto-bgi.exe - 快捷方式.lnk” 文件

  4. 重命名快捷方式
    将其重命名为:auto-bgi(直接去掉“- 快捷方式”字样,扩展名 .lnk 会自动隐藏)

  5. 右键这个快捷方式(务必点快捷方式本身)→ 属性

  6. 切换到 “兼容性” 标签页 或 “快捷方式” 标签页 点击高级

  7. 勾选 “以管理员身份运行此程序”

  8. 点击 应用确定

  9. (推荐)避免每次弹出 UAC 提示:
    在“兼容性”页点击 “更改所有用户的设置” → 再次勾选“以管理员身份运行此程序” → 应用 → 确定

  10. (可选)美化图标:
    在“快捷方式”标签页点击“更改图标”,从原 exe 中选择喜欢的图标

完成:现在文件夹中有一个名为 auto-bgi 的快捷方式文件,它已具备管理员权限。

第二部分:完整批处理脚本

将以下内容复制保存为 .bat 文件,例如:auto_bgi_自启动.bat

@echo off
chcp 65001 >nul
title auto_bgi 自启动
color 0c
mode con cols=60 lines=20

:: 要启动的快捷方式路径(必须指向上面创建的管理员快捷方式)
set "START_EXE=C:\Users\cloud-guest\Desktop\GameTools\auto-bgi\auto-bgi"

:: 允许运行的用户名(多个用空格分隔,大小写不敏感)
set "allowed_users=cloud-guest admin player"

set "current_user=%USERNAME%"

:: 检查当前用户是否在白名单中
set "found=0"
for %%u in (%allowed_users%) do (
    if /i "%current_user%"=="%%u" set "found=1"
)

if "%found%"=="1" (
    goto success
) else (
    cls
    echo.
    echo ============================================
    echo 权限验证失败
    echo ============================================
    echo.
    echo 当前用户名: %current_user%
    echo 不属于允许运行此软件的用户。
    echo.
    echo 允许的用户: %allowed_users%
    echo.
    echo 程序将在5秒后自动退出...
    timeout /t 5 >nul
    exit
)

:success
cls
echo.
echo ============================================
    echo 验证通过,欢迎使用!
echo ============================================
echo.
echo 当前用户名: %current_user%
echo 正在启动软件...
timeout /t 1 >nul

:: 启动管理员权限快捷方式(会自动提升权限)
start "" "%START_EXE%"

::echo.
::echo 软件已启动,按任意键关闭此窗口...
::pause >nul

exit

关键说明

  • START_EXE 指向的是快捷方式auto-bgi,无扩展名),而不是 .exe 文件
  • start "" "%START_EXE%" 会完整继承快捷方式的所有属性,包括管理员权限
  • 最后三行已被注释,启动后窗口会自动关闭(适合开机自启不干扰用户)

第三部分:设置开机自启动(可选)

方法一:启动文件夹(最简单)

  1. Win + R → 输入 shell:startupshell:common startup→ 回车
  2. 将上面保存的 .bat 文件(或其快捷方式)复制到打开的文件夹中

方法二:任务计划程序(更稳定,可延迟启动)

  1. 搜索并打开“任务计划程序”
  2. “创建基本任务” → 触发器选择“当我登录时”
  3. 操作 → “启动程序” → 浏览选择你的 .bat 文件
  4. 最后一步勾选“以最高权限运行”

修改白名单用户

只需编辑脚本中这一行:

set "allowed_users=cloud-guest admin player"

用空格分隔添加或删除用户名即可。

完成!

现在系统登录时会自动进行用户名验证,只有允许的用户才能启动 auto-bgi,且程序必定以管理员权限运行。