ventana una ejecutar desde como comandos carpeta aqui aparece administrador abrir windows batch-file cmd

una - ejecutar cmd como administrador windows 10



El comportamiento de% CD% variable es diferente cuando se hace clic derecho y se usa ejecutar como administrador (2)

¿Confunde el directorio actual / de trabajo con el directorio en el que se encuentra su archivo por lotes?

Si tengo un archivo por lotes simple con solo

@echo off echo %cd%

y esto se almacena en c: / foo / bar / test.cmd

En cmd ejecuto

cd c:/foo bar/test

test.cmd imprimirá c:/foo y no c:/foo/bar

Supongo que UAC usa system32 ya que es posible elevarlo con un usuario diferente y ese usuario podría no tener acceso a lo que sea que sea el directorio actual.

Si quiere el directorio en el que se encuentra su archivo por lotes, use% ~ dp0, si quiere el directorio actual, use. o% CD%

Tengo un archivo cmd de Windows que está utilizando la variable de entorno% CD% para determinar el directorio de ejecución del archivo cmd.

Cuando ejecuto el archivo cmd desde la línea de comandos, funciona correctamente, lo que significa que la variable% CD% contiene el directorio de trabajo. Si hago doble clic en el cmd, también funciona como esperaba. Sin embargo, si hago clic con el botón derecho en el archivo cmd y selecciono el administrador de runas, la variable% CD% contiene el valor "C: / Windows / system32", no el directorio actual donde se está ejecutando el cmd.

Pude reproducir el problema con el siguiente script:

echo %CD% pause


Tratando de usar %~dp0 lugar de %cd% ... esto debería darle el directorio que contiene el script de lotes (NT shell) desde el cual se lanzó.