菜鸟科技网

如何提升cmd命令的执行效率?

最推荐的方法 - 使用 PowerShell(Windows 10/11)

在 Windows 10 和 Windows 11 中,PowerShell 已经取代 CMD 成为默认的命令行工具,并且微软官方更推荐使用 PowerShell,它功能更强大,安全性也更高。

如何提升cmd命令的执行效率?-图1
(图片来源网络,侵删)

打开管理员 PowerShell 窗口(直接启动)

这是最直接、最安全的方法。

  • 通过开始菜单:

    1. 点击“开始”按钮或按 Win 键。
    2. 输入 PowerShell
    3. 在搜索结果中,右键点击 “Windows PowerShell”“PowerShell”
    4. 在弹出的菜单中选择 “以管理员身份运行” (Run as administrator)。
    5. 系统会弹出用户账户控制(UAC)提示,点击“是”。
  • 通过任务管理器(推荐,避免误点):

    1. Ctrl + Shift + Esc 打开任务管理器。
    2. 点击“文件” -> “运行新任务” (Run new task)。
    3. 在弹出的对话框中输入 powershell
    4. 务必勾选下方的“以系统管理权限创建此任务” (Create this task with administrative privileges)。
    5. 点击“确定”。

在当前 PowerShell 窗口中提升权限(临时提升)

如果你已经打开了一个普通的 PowerShell 窗口,但临时需要管理员权限,可以使用以下命令:

如何提升cmd命令的执行效率?-图2
(图片来源网络,侵删)
Start-Process powershell -Verb RunAs

这个命令会弹出一个新的、具有管理员权限的 PowerShell 窗口,而原来的窗口保持不变。

在脚本文件中请求提升权限

如果你编写了一个 PowerShell 脚本(.ps1 文件),并希望它在运行时自动提示用户提升权限,可以在脚本的开头添加以下代码:

#Requires -RunAsAdministrator

当用户双击这个脚本时,如果它不是以管理员身份运行的,系统会自动弹出 UAC 提示,请求权限。


经典方法 - 使用命令提示符(CMD)

如果你习惯使用传统的 CMD,或者某些老旧的批处理脚本(.bat)必须在 CMD 中运行,可以使用以下方法。

如何提升cmd命令的执行效率?-图3
(图片来源网络,侵删)

打开管理员 CMD 窗口(直接启动)

  • 通过开始菜单:

    1. 点击“开始”按钮。
    2. 输入 cmd命令提示符
    3. 在搜索结果中,右键点击 “命令提示符”
    4. 选择 “以管理员身份运行”
    5. 确认 UAC 提示。
  • 通过任务管理器:

    1. Ctrl + Shift + Esc 打开任务管理器。
    2. 点击“文件” -> “运行新任务”。
    3. 输入 cmd
    4. 勾选“以系统管理权限创建此任务”
    5. 点击“确定”。

在当前 CMD 窗口中提升权限

在普通的 CMD 窗口中,没有像 PowerShell 那样直接提升权限的命令,你需要关闭当前窗口,然后重新以管理员身份打开一个新的。

在批处理脚本(.bat)中请求提升权限

对于批处理文件,可以通过调用 vbscript 来实现自动提升权限的功能,将以下代码保存为 .bat 文件即可。

@echo off
:: BatchGotAdmin
::------------------------------------------------------------------------------
::  这个脚本会尝试获取管理员权限。
::  如果成功,它会重新运行自己并退出当前实例。
::  如果失败,它会显示错误信息并退出。
::------------------------------------------------------------------------------
:: 检查是否以管理员权限运行
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
:: 如果上面的命令失败(返回错误代码),说明没有管理员权限
if '%errorlevel%' NEQ '0' (
    echo 请求管理员权限...
    set "vbsGetAdmin=%temp%\getadmin.vbs"
    echo Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetAdmin%"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%vbsGetAdmin%"
    "%vbsGetAdmin%"
    exit /B
) else (
    echo 正在以管理员权限运行...
)
:: 在这里放置你的管理员命令
::  net user someuser newpassword
:: 或者: reg add "HKEY_LOCAL_MACHINE\SOFTWARE\MyApp" /v Version /t REG_SZ /d "1.0"
:: 清理临时VBS文件
if exist "%vbsGetAdmin%" del "%vbsGetAdmin%"
pause

面向开发者的方法 - Windows Terminal (强烈推荐)

Windows Terminal 是一个现代化的终端应用,支持多个标签页(可以同时打开 CMD、PowerShell、Azure Cloud Shell 等),并且可以轻松配置默认以管理员身份运行。

  1. 安装 Windows Terminal:从 Microsoft Store 安装。
  2. 配置默认管理员配置文件
    • 打开 Windows Terminal,点击下拉箭头,选择“设置”。
    • 在左侧找到并点击 “PowerShell” 或 “Command Prompt”。
    • 在右侧的 “Advanced settings” 部分,找到 “List in dropdown” 和 “Default profile” 选项。
    • 你可以勾选 “List in dropdown” 让它在列表中显示,然后将其设为 “Default profile”。
    • 更重要的是,你可以复制这个配置文件,然后为复制品勾选 "Run as administrator",并将这个新的管理员配置文件设为默认。

这样,每次你打开 Windows Terminal 时,它都会自动启动一个具有管理员权限的 PowerShell 或 CMD 窗口。


总结与对比

方法 优点 缺点 适用场景
PowerShell (RunAs) 官方推荐,功能强大,安全性高 需要手动右键点击 日常系统管理、脚本编写
任务管理器 非常直观,不易误点,安全 需要打开任务管理器一个额外步骤 临时需要管理员权限,不确定如何右键时
PowerShell (Start-Process) 快速在现有窗口中启动新管理员实例 代码稍显复杂 编写脚本时动态提升权限
CMD (RunAs) 兼容老旧批处理脚本 功能比 PowerShell 弱,安全性较低 运行只能在 CMD 中执行的旧脚本
批处理脚本提升 实现自动化,用户体验好 代码较复杂,需要理解原理 分发需要管理员权限的批处理文件
Windows Terminal 现代化,多标签,可配置 需要额外安装 重度用户和开发者的首选

最终建议:

  • 对于新用户和日常使用:直接使用任务管理器来启动管理员 PowerShell,这是最安全和不容易出错的方法。
  • 对于开发者和技术爱好者:强烈推荐使用 Windows Terminal,并将其配置为默认以管理员身份运行。
  • 对于编写脚本
    • 优先使用 PowerShell 并在脚本开头加上 #Requires -RunAsAdministrator
    • 如果必须用批处理,则使用包含 vbscript 提升逻辑的模板。
分享:
扫描分享到社交APP
上一篇
下一篇