Ejecutar Batch archivo como administrador

Siddharth Bishnoi 20 marzo 2023
  1. Cree un acceso directo del Batch archivo para ejecutarlo como administrador
  2. Codifique un Batch archivo para ejecutarlo como administrador
  3. Conclusión
Ejecutar Batch archivo como administrador

Un Batch archivo consta de comandos que se ejecutan mediante el símbolo del sistema. Algunos de estos comandos no se ejecutan sin el permiso del administrador; por lo tanto, es importante ejecutar un Batch archivo como administrador.

Manualmente, puede ejecutar el Batch archivo como administrador haciendo clic con el botón derecho en el Batch archivo que desea ejecutar y seleccionando Ejecutar como administrador.

En lugar de hacerlo manualmente cada vez, también puede hacer que se ejecute automáticamente como administrador simplemente agregando un código en la parte superior de su Batch archivo.

Alternativamente, también puede crear un acceso directo y configurarlo para que se ejecute como administrador desde la ventana de propiedades. Cada vez que haga doble clic en el Batch archivo, se ejecutará como administrador.

Hay muchas formas de ejecutar automáticamente el Batch archivo como administrador. Este tutorial ilustrará diferentes formas de ejecutar un Batch archivo como administrador.

Cree un acceso directo del Batch archivo para ejecutarlo como administrador

Una forma sencilla de ejecutar un Batch archivo en modo administrador es crear un acceso directo y configurarlo para que siempre se ejecute como administrador. Haga clic derecho en el Batch archivo y haga clic en crear acceso directo para crear un acceso directo.

crea un atajo

Se creará un archivo de acceso directo en el escritorio. Vaya a la ventana Propiedades del archivo de acceso directo haciendo clic derecho sobre él.

abrir ventana de propiedades

Haga clic en Avanzado en la pestaña Acceso directo y seleccione la casilla de verificación Ejecutar como administrador.

Opción avanzada Propiedades

Eso es todo, y el acceso directo se ha configurado para ejecutarse siempre en el modo de administración. Cuando haga doble clic en el archivo de acceso directo, se mostrará una ventana de UAC para confirmar.

Cuando aplica el método anterior, el directorio actual del Batch archivo cambia; esto puede causar errores o que su archivo no se ejecute. Simplemente agregue las siguientes líneas en la parte superior de su Batch archivo para evitar esto.

@setlocal enableextensions
@cd /d "%~dp0"

Ejemplo:

@echo off
@setlocal enableextensions
@cd /d "%~dp0"

::START OF THE PROGRAM::
echo "Check the system's energy efficiency"
powercfg-energy

archivo de prueba crear acceso directo

El código anterior cambiará el directorio actual a la ubicación del Batch archivo.

Producción:

archivo de prueba crear salida de acceso directo

Codifique un Batch archivo para ejecutarlo como administrador

Use el comando runas para ejecutar el Batch archivo como administrador

Si el Batch archivo contiene una línea en particular o un conjunto de líneas que requiere privilegios administrativos, puede usar el comando runas para ejecutar una línea en particular en modo administrador.

@echo off
echo "Check the system's energy efficiency"
runas /user:sid "cmd /k ipconfig"

Comando testfile runas

Producción:

comando de ejecución de salida

o

@echo off
@setlocal enableextensions
@cd /d "%~dp0"
echo "Check the system's energy efficiency"
runas /user:sid "notepad C:\Users\sid\Desktop\testfile.bat"

archivo de prueba runas archivo

El código anterior ejecutará el Batch archivo con un usuario administrador. Introduzca la contraseña si se le solicita.

También puede usar /savecred para guardar la contraseña y usarla la próxima vez que ejecute el Batch archivo. Solo necesita ingresar la contraseña una vez.

Producción:

archivo runas de salida

Cree un archivo VBS para ejecutar el Batch archivo como administrador

La creación de un acceso directo al Batch archivo también cambió el directorio de trabajo actual.

En su lugar, puede agregar el siguiente código en la parte superior de su Batch archivo. Esto ejecutará el Batch archivo en modo administrador y permanecerá en el mismo directorio.

set "params=%*"
cd /d "%~dp0" && ( if exist "%temp%\adminmode.vbs" del "%temp%\adminmode.vbs" ) && fsutil dirty query %systemdrive% 1>nul 2>nul || (  echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "cmd.exe", "/k cd ""%~sdp0"" && %~s0 %params%", "", "runas", 1 >> "%temp%\adminmode.vbs" && "%temp%\adminmode.vbs" && exit /B )

Ejemplo:

set "params=%*"
cd /d "%~dp0" && ( if exist "%temp%\adminmode.vbs" del "%temp%\adminmode.vbs" ) && fsutil dirty query %systemdrive% 1>nul 2>nul || (  echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "cmd.exe", "/k cd ""%~sdp0"" && %~s0 %params%", "", "runas", 1 >> "%temp%\adminmode.vbs" && "%temp%\adminmode.vbs" && exit /B )
echo "Check the system's energy efficiency"
powercfg -energy

archivo de prueba crear vbs

El código anterior comprueba si el archivo se está ejecutando en modo administrador. Si no lo hace, crea un archivo VBS adminmode.vbs, que luego vuelve a ejecutar el archivo Batch en modo administrador usando el parámetro runas.

Para acceder al archivo Batch, usamos cd /d "%~dp0", donde:

  1. d - se expande a la letra de la unidad
  2. p - se expande al camino
  3. 0 - se expande a la ruta completa

El %~dp0 cambia el directorio actual al directorio del Batch archivo. Cuando ejecute el Batch archivo, se ejecutará como administrador al mostrar el mensaje de confirmación de UAC.

Producción:

archivo de prueba crear salida vbs

Conclusión

Entonces, discutimos dos formas diferentes de ejecutar un Batch archivo como administrador.

Además, hay otras formas de ejecutar un Batch archivo en modo administrador, como usar la utilidad de elevación, convertir el Batch archivo a .exe o instalar el comando sudo. Pero los métodos mencionados anteriormente son fáciles de implementar, incluso si es un principiante.

Artículo relacionado - Batch File