当我们以正常方式打开 CMD 时,它将以正常权限打开。我们可以通过发出命令来更改模式吗?(例如 Linux 中的 sudo)
提前致谢。
PS:ctrl + shift + enter 不是我要的
答案1
不是原生的。有一款软件的行为类似于 Linux 中的 sudo,它会使用一些技巧来完成此操作,但它仍会打开第二个 cmd 窗口。我过去尝试过,但感觉不安全,所以我停止使用它了。
Nircmd 有一个选项可以以提升的权限运行命令,这可能是最好的选择,但是仍然......
直接以管理员身份启动命令提示符要容易得多。确实,在某些情况下这样做会很棒,但这种情况很少发生,所以不值得。
答案2
如果您想执行批处理文件,您可以将管理员权限传递给它。将会弹出一个 UAC 窗口来询问您是否有权限。
你可以检查一下:https://ss64.com/vb/shellexecute.html
我还从请求权限的批处理文件中复制了以下代码。您可能会发现它很有用。我对此并不十分了解,我只是将其复制以供您参考。我并不了解它的每一个字。但它显然将一些行代码保存在扩展名为 .vbs 的文件中,然后调用它。
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe"
"%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
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 如果存在“%temp%\getadmin.vbs”(del“%temp%\getadmin.vbs”)pushd“%CD%”CD /D“%~dp0”