Respuestas:
Esta es una muy buena pregunta. Encontré esto . Supongo que podría crear un script cmd y ejecutarlo al iniciar cmd: -?
; Run a command when CMD.exe starts
[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor]
"AutoRun"=-
EDITAR: acabo de probarlo. Tengo AutoRun=C:\mini\bashrc.cmd
y bashrc.cmd es
@echo off
set TEST_VAR=something
cuando comienzo cmd y lo ingreso echo %TEST_VAR%
dice something
. Entonces funciona :)
doskey∙♦=exit
(donde ♦
está [char]4
). Le permite cerrar el shell con Ctrl + D, Enter.
AUTORUN=%USERPROFILE%\autorun.cmd
para que use uno para el usuario actual ... un truco genial, lo intentaré cuando llegue a casa ... Últimamente uso bash, pero esto ayudaría.
Modificación de la respuesta de mc3b para aquellos que son novatos de Windows como yo.
Cree un archivo en C:\bashrc.cmd
o donde quiera que resida su archivo "rc".
@echo off
set TEST_VAR=something
Ejecútelo regedit
buscándolo o ejecutándolo en cmd.
En las carpetas de la izquierda navegue hasta:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor
Haga clic derecho en la Command Processor
carpeta y haga clic New -> String Value
. Ingrese la clave AutoRun
. Haga doble clic en AutoRun
e ingrese la ubicación bashrc C:\bashrc.cmd
.
Prueba: abra una nueva ventana de cmd y escriba:
echo %TEST_VAR%
Si dice something
, funciona.
Suponiendo que su shell sea Powershell, no cmd, puede crear un perfil para su shell. Tales perfiles son básicamente scripts que se ejecutan cuando inicia un shell. Al igual .bashrc
. Una parte importante de esta publicación podría ser la siguiente:
Las ubicaciones (en Windows Vista) de los perfiles para el host powershell.exe son las siguientes:
%windir%\system32\WindowsPowerShell\v1.0\profile.ps1
Esto es para todos los usuarios de la computadora y para todos los shells.%windir%\system32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1
Esto es para todos los usuarios de la computadora, pero es solo para el shell Microsoft.PowerShell.%UserProfile%\Documents\WindowsPowerShell\profile.ps1
Esto es solo para el usuario actual y todos los shells.%UserProfile%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Esto es solo para el usuario actual y solo para el shell Microsoft.PowerShell.Estos perfiles no se crean por defecto. Existen solo si los creas.
Parece ser lo mismo en Windows 7, 8 y 10. También puede encontrar más información aquí .
Nota: es posible que deba ejecutar lo siguiente. De lo contrario, su perfil no se puede ejecutar.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
También puede ejecutar lo siguiente como administrador para cambiar la configuración de todos los usuarios.
Set-ExecutionPolicy RemoteSigned
EDITAR : Encontrado esto: http://msdn.microsoft.com/en-us/library/bb613488(VS.85).aspx
Para exponer la solución de Martin (el acceso directo), aquí está el equivalente de PowerShell.
NOTA : Deberá tener habilitada la ejecución del script de PowerShell. Si esto está deshabilitado, deberá ejecutar un PowerShell elevado y ejecutarlo Set-ExecutionPolicy Unrestricted
. Obviamente, esto no se recomienda por razones de seguridad, pero ya está.
powershell.exe -noexit -File "%HOMEDRIVE%\%HOMEPATH%\ps-startup.ps1"
Tenga un archivo nombrado ps-startup.ps1
en su directorio de usuario y su acceso directo lo ejecutará como un archivo de PowerShell al inicio. Simplemente ejecute PowerShell con este acceso directo de aquí en adelante.
Básicamente, la respuesta de nc3b funciona, pero el paquete DevBox-Common de Chocolatey lo hará más fácil .
choco install devbox-common -y
.bashrc.bat
y .bashrc.include.aliases-common.bat
en tu camino a casa. Cada coincidencia de archivos .bashrc.include.*.bat
se ejecutará en cada inicio del shell de comandos.Para todas las personas que vienen de un mundo similar a Unix y aterrizan en esta pregunta (es decir, todos, ya que pregunta .bashrc
): ¡ Mejore radicalmente la vida de su consola Windows y deje de usar el stock cmd.exe
y el terminal predeterminado de Windows! ¡Nadie que haga esta pregunta, o que vea las respuestas a esta pregunta, debería usar el valor predeterminado actual cmd.exe
y el terminal!
Si está dispuesto a desconectarse cmd.exe
(no sé por qué razón no válida), una respuesta simple a la pregunta original es:
Instale y use Cmder y su .bashrc
equivalente se convierte
%CMDER_ROOT%\config\user_profile.cmd
, al tiempo que mejora significativamente su experiencia de consola / consola.
Las opiniones, extensiones y recomendaciones poco relacionadas siguen ...
Cmder es un metapaquete que empaqueta ConEmu , Clink y un montón de configuraciones y cosas adicionales. ConEmu es el emulador de terminal que proporciona la capacidad de script de inicio, que (a través de la configuración predeterminada de ConEmu que proporciona Cmder ) termina enrutando a lo indicado %CMDER_ROOT%\config\user_profile.cmd
.
Es posible que desee usar explícitamente ConEmu y Clink de forma independiente, en lugar de usar el paquete Cmder incluido.
Para hacer eso, y para agregar algo más de "tengo que trabajar en Windows, qué debo hacer", a continuación hay algunas cosas buenas / obstinadas que hacer. Ciertamente, estos están MUY relacionados con la pregunta inicial, pero recientemente he pasado por una configuración de Windows nuevamente, ya he escrito la mayor parte de esto, y el público objetivo en esta pregunta es correcto, así que aquí tienes ...
extras
cubo para muchas cosas que no sean de consola ( scoop bucket add extras
)cmd.exe
scoop install clink
clink autorun install
de hacerlo funcionar cuando cmd.exe
se ejecutascoop install conemu
Settings::Integration->Default term
scoop install cmder
), pero personalmente creo que es más limpio instalar / ejecutar Clink y ConEmu por separado.scoop install gow
grep
, vim
, sed
, ls
, cat
, curl
, wc
, less
, find
, etc, etc) que conocen y aman, directamente en su cmd.exe
terminal de -como sin rarezas no nativofind->gfind
yawk->gawk
scoop search
y scoop info
para encontrar los que desea, o explore los cubos (hay varios cubos , no solo principales y extras)