Red de conocimiento informático - Conocimiento de Internet de las cosas - Cómo hacer que el archivo bat se ejecute como administrador

Cómo hacer que el archivo bat se ejecute como administrador

Algunos procesos por lotes requieren permisos muy altos para lograr los resultados que necesitamos. Coloque el siguiente código en la parte superior del proceso por lotes para ejecutarlo como administrador.

@echooff

gt;nul2gt;amp;1"SYSTEMROOT\system32\cacls.exe""SYSTEMROOT\system32\config\system"

if' nivel de error'NEQ'0'(

gotoUACPrompt

)else(gotogotAdmin)

:UACPrompt

echoSetUAC=CreateObject^("Shell .Application"^)gt;"temp\getadmin.vbs"

echoUAC.ShellExecute"~s0","","","runas",1gt;gt;"temp\getadmin.vbs"

"temp\getadmin.vbs"

salir/B

: gotAdmin

ifexist "temp\getadmin.vbs"(del "temp\getadmin.vbs")

Información ampliada

comandos comunes del bat:

1. Comando Echo

Sintaxis: echo[ {on|off}][message]

ECHO[ON|OFF]? ¿Activar el eco o desactivar la función de eco?

ECHO muestra la configuración de eco actual.

¿ECHO[mensaje]? Mostrar mensaje.

echooff significa que todos los comandos ejecutados después de esta declaración no mostrarán la línea de comando en sí; el valor predeterminado está activado y, cuando esté activado, mostrará algo como: C:\ruta de la carpeta>línea de comando.

En aplicaciones prácticas, combinaremos este comando con el símbolo de redirección (también llamado símbolo de tubería, generalmente gt; gt; gt; ^) para ingresar algunos comandos en un archivo en un formato específico.

Muestra: echooff

Muestra: echohelloworld? (muestra "helloworld")

Muestra: echoWindowsRegistryEditorVersion5.00gt; c:\setupreg.reg (anteriormente también allí). no hay un archivo setupreg.reg)

Ejemplo: echo "SourcePath"="D:\\Win2003\\"gt;gt;c:\setupreg.reg (¿Agregar contenido al archivo setupreg.reg? )

2. comando @

significa que el comando después de @ no se mostrará (naturalmente, durante el proceso de invasión, la otra parte no puede ver el comando que usa)

@ es similar a echooff, pero se agrega al principio de cada línea de comando, lo que indica que la línea de comando de esta línea no se mostrará cuando se ejecute (solo puede afectar la línea actual).

Muestra: @echooff? (Esta declaración se usa a menudo al principio para indicar que no se muestra toda la información de la línea de comando, incluida esta oración)

Ejemplo: @echopleasewaitaminita...

Muestra: @formatX:/q/u/autoset

(El comando format no puede usar el parámetro /y. Afortunadamente, Microsoft nos ha dejado el parámetro autoset. El efecto es el igual /y es lo mismo.

)

3. Comando Goto

Sintaxis: gotolabel (la etiqueta es un parámetro que especifica la línea en el programa por lotes que se redirigirá).

Especifique el salto. a la línea de etiqueta, después de encontrar la línea de etiqueta, el programa procesará los comandos comenzando desde la siguiente línea.

La etiqueta puede tener un nombre arbitrario, pero es mejor que sea significativa. Se deben agregar dos puntos ":" antes de la letra para indicar que la letra es una etiqueta.

El comando goto utiliza estos dos puntos para encontrar dónde saltar a continuación. A menudo se usa junto con if para ejecutar diferentes grupos de comandos según diferentes condiciones.