Estoy buscando una manera de ejecutar algunos comandos de consola automáticamente cuando se abre un símbolo del sistema en Windows, específicamente para establecer algunos alias de comandos.
Por ejemplo, cuando se abre un símbolo del sistema, quiero que un comando como el siguiente se ejecute automáticamente para que pueda usarlo en ls
lugar de dir
.
doskey ls=dir
¿Cómo se puede hacer esto?
windows
command-line
console
autorun
Daniel Williams
fuente
fuente
cmd.exe
.Respuestas:
Si desea que se cargue en el arranque, en lugar de cuando inicia sesión, si tiene XP Pro (XP Home no incluye gpedit.msc), haga lo siguiente:
y pulsa enter. Luego ejecute gpupdate / force desde una línea de comando.
Ir
y agregue la ubicación al script.
También puede hacer esto para un inicio de sesión de usuario en
Si tiene XP Home, puede copiar los scripts a:
para cargarlos en el arranque, o:
para cargarlos para un usuario al iniciar sesión. La carpeta GroupPolicy está oculta.
fuente
Los alias de comandos son específicos de la ventana de consola en la que los configura, por lo tanto, un script de inicio no funcionará. Puedes hacerlo de esta manera:
Cree un archivo por lotes (
.cmd
) con sus comandos de doskey , colóquelo en algún lugar de los Datos de la aplicación.Configure que se inicie automáticamente cada vez que abra cmd . La configuración está en el Registro:
HKCU\SOFTWARE\Microsoft\Command Processor
AutoRun
"%AppData%\aliases.cmd"
fuente
if exist "%AppData%\aliases.cmd" "%AppData%\aliases.cmd"
Los diferentes intérpretes de comandos manejan los alias de comandos de diferentes maneras.
El CMD de Microsoft se basa en el subsistema de consola Win32 para proporcionar su mecanismo de alias de comando. El
doskey
comando en realidad interactúa con la consola del proceso, y es la consola misma la que contiene los alias. Por lo tanto, los alias son por consola y transitorios.El TCC / LE de JP Software maneja los alias por sí mismo. El
alias
comando le permite a uno ver y manipular alias, que son "locales" o "globales". Los alias siguen siendo transitorios, pero son privados para un proceso de intérprete de comandos o compartidos entre todos los procesos de intérprete de comandos (en todas las consolas).Shells como el shell Korn en el kit de herramientas de la utilidad SFUA , cuyas herramientas se ejecutan en el subsistema para aplicaciones basadas en UNIX que viene en la caja con Windows 7 Ultimate Edition y Windows Server 2008 R2 (para Windows XP, uno puede descargar e instalar Servicios para UNIX versión 3.5 .) - y el shell Bourne Again de cygwin maneja de manera similar los alias. Los alias son transitorios, y por proceso de intérprete de comandos.
La carga automática de un conjunto inicial predeterminado de alias también varía según el intérprete de comandos.
En todos los casos, uno coloca comandos para establecer los alias en un script de algún tipo.
grawity
ya ha dado una de las dos claves de registro que hacen que el CMD de Microsoft ejecute un comando cuando se inicia . Desafortunadamente, esto es por proceso de intérprete de comandos, a pesar de que los alias se almacenan por consola . Inicie un intérprete de comandos secundario desde el inicial y se restablecerán los cambios manuales a los alias predeterminados. Una alternativa, que al menos realiza la inicialización solo una vez por consola, es agregar la/K
opción y el nombre de un script de comando que llamadoskey
a la cola del comando en el acceso directo que inicia el intérprete de comandos.El TCC / LE de JP Software ejecuta automáticamente el
TCSTART
script cuando se inicia. De nuevo, esto es por proceso de intérprete de comandos. Sin embargo, los alias "locales" de TCC también son por proceso de intérprete de comandos, por lo que este es el lugar correcto para inicializar alias si uno está empleando alias locales. Para los alias globales, simplemente cree un acceso directo en suStartup
carpeta que cargue los alias de un archivo (conalias /r
) y luego ejecute elshralias
comando para que persistan después de que el acceso directo haya terminado de ejecutarse.Para los proyectiles Bourne Again y Korn, simplemente haga lo que haría con estos proyectiles en cualquier otra plataforma. Utilice el
alias
comando en los scripts$HOME/.profile
y$HOME/.bashrc
para el shell Bourne Again; y use elalias
comando en$HOME/.profile
, ENV y$HOME/.kshrc
scripts para el shell Korn.fuente
La respuesta de Gravity funcionó muy bien para mí.
Creé un script shell-aliases.cmd en mi carpeta Documentos (en algún lugar lo puedo encontrar más adelante).
Luego creó el valor de cadena expandible 'AutoRun' en la clave de registro:
'HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor'
Establezca el valor en la ruta completa al archivo de alias (el mío estaba en 'C: \ Users \ Lee \ Documents \ shell-aliases.cmd').
Una vez que volví a cargar el símbolo del sistema, mis alias de doskey funcionaron. Además, mi archivo de alias es fácilmente accesible y está listo para editar, ya que pienso en más para agregar.
fuente
Hay varias ubicaciones que funcionarán, pero el menú de inicio> carpeta de inicio probablemente sea el más fácil.
Ejecute 'msconfig' y vea qué programas se inician y por qué. Simplemente puede agregar su programa a una de esas listas (por ejemplo, en el registro).
fuente
El problema aquí es que si lo hace en el inicio, estas sustituciones solo estarán disponibles en el indicador CMD abierto. Si se cierra, todas estas sustituciones se perderán y deberán realizarse nuevamente para cada comando abierto.
Entonces, algunas formas alternativas (puede combinarlas):
I. Cree un lote y un acceso directo:
II Cree un lote y una entrada en la variable de entorno PATH:
fuente