Ответы:
Это очень хороший вопрос. Я нашел это . Я полагаю, вы могли бы сделать сценарий cmd и запустить его при запуске cmd: -?
; Run a command when CMD.exe starts
[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor]
"AutoRun"=-
РЕДАКТИРОВАТЬ: Я только что попробовал. У меня есть AutoRun=C:\mini\bashrc.cmdи bashrc.cmd
@echo off
set TEST_VAR=something
когда я запускаю cmd и ввожу echo %TEST_VAR%это говорит something. Так работает :)
doskey∙♦=exit(где ♦есть [char]4). Позволяет закрыть оболочку с помощью Ctrl + D, Enter.
AUTORUN=%USERPROFILE%\autorun.cmdтак, чтобы он использовал один для текущего пользователя ... крутой трюк, хотя, попробую его, когда вернусь домой ... Я в основном использую bash в последнее время, но это поможет.
Модификация ответа mc3b для тех, кто любит Windows.
Создайте файл внутри C:\bashrc.cmdили там, где вы хотите, чтобы ваш файл "rc" находился.
@echo off
set TEST_VAR=something
Запустите regeditпоиск или запустив его в cmd.
В папках слева перейдите к:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor
Щелкните правой кнопкой мыши на Command Processorпапке и нажмите New -> String Value. Введите ключ AutoRun. Дважды щелкните AutoRunи введите местоположение Bashrc C:\bashrc.cmd.
Тест: откройте новое окно cmd и введите:
echo %TEST_VAR%
если он говорит something, это работает.
Предполагая, что ваша оболочка - Powershell, а не cmd, вы можете создать профиль для вашей оболочки. Такие профили в основном представляют собой скрипты, которые выполняются при запуске оболочки. Так же , как .bashrc. Важной частью этого поста может быть следующее:
Расположение (в Windows Vista) профилей для хоста powershell.exe выглядит следующим образом:
%windir%\system32\WindowsPowerShell\v1.0\profile.ps1
Это для всех пользователей компьютера и для всех оболочек.%windir%\system32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1
Это для всех пользователей компьютера, но только для оболочки Microsoft.PowerShell.%UserProfile%\Documents\WindowsPowerShell\profile.ps1
Это только для текущего пользователя и всех оболочек.%UserProfile%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Это только для текущего пользователя и только для оболочки Microsoft.PowerShell.Эти профили не создаются по умолчанию. Они существуют, только если вы их создадите.
Похоже, то же самое в Windows 7, 8 и 10. Вы также можете найти более подробную информацию здесь .
Примечание. Возможно, вам потребуется выполнить следующее. В противном случае ваш профиль не может быть выполнен.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Вы также можете запустить следующее как администратор, чтобы изменить конфигурацию для всех пользователей.
Set-ExecutionPolicy RemoteSigned
РЕДАКТИРОВАТЬ : Найдено это: http://msdn.microsoft.com/en-us/library/bb613488(VS.85).aspx
Чтобы изложить решение Мартина (ярлык), вот эквивалент PowerShell.
ПРИМЕЧАНИЕ . Вам необходимо включить выполнение сценариев PowerShell. Если это отключено, вам нужно запустить PowerShell с повышенными правами и выполнить Set-ExecutionPolicy Unrestricted. Очевидно, что это не рекомендуется по соображениям безопасности, но вы идете.
powershell.exe -noexit -File "%HOMEDRIVE%\%HOMEPATH%\ps-startup.ps1"
Имейте файл, названный ps-startup.ps1в вашем пользовательском каталоге, и ваш ярлык запустит его как файл PowerShell при запуске. Просто запустите PowerShell с этим ярлыком.
В основном ответ nc3b работает, но пакет DevBox-Common от Chocolatey сделает это проще .
choco install devbox-common -y
.bashrc.batи .bashrc.include.aliases-common.batна вашем пути домой. Каждое сопоставление файла .bashrc.include.*.batбудет выполняться при каждом запуске командной оболочки.Для всех людей, пришедших из мира, подобного Unix, и приземляющихся на этот вопрос (т.е. всех, так как он об этом спрашивает .bashrc): радикально улучшите свою консольную жизнь Windows и прекратите использовать cmd.exeстандартный и Windows-терминал по умолчанию !! Никто из тех, кто задает этот вопрос или ищет ответы на этот вопрос, не должен использовать текущее значение по умолчанию cmd.exeи терминал!
Если вы хотите выключить товар cmd.exe(я не знаю веских причин не делать этого), один простой ответ на оригинальный вопрос:
Установите и используйте Cmder, и ваш .bashrcаналог станет
%CMDER_ROOT%\config\user_profile.cmd, в то же время, значительно улучшая ваши возможности оболочки / консоли
Мнения, расширения и слабо связанные рекомендации следуют ...
Cmder - это метапакет, в который входят ConEmu , Clink , а также куча дополнительных настроек и прочего. ConEmu - это эмулятор терминала, который предоставляет возможность запуска сценария запуска, который (через стандартные настройки ConEmu, предоставляемые Cmder ) завершает маршрутизацию к указанному %CMDER_ROOT%\config\user_profile.cmd.
Возможно, вы захотите просто явно использовать ConEmu и Clink независимо, а не использовать пакет Cmder.
Чтобы сделать это, и добавить еще «надо работать над окнами, что я должен делать», блаженство, ниже приведены некоторые хорошие / самоуверенные вещи, которые нужно сделать. Они, по общему признанию, ОЧЕНЬ слабо связаны с первоначальным вопросом, но недавно я снова прошел настройку Windows, уже набрал большую часть этого, и целевая аудитория в этом вопросе верна, так что вы идете ...
extrasведро для многих неконсольных вещей ( scoop bucket add extras)cmd.exe
scoop install clinkclink autorun installзаставить его работать, когда cmd.exeзапускаетсяscoop install conemuSettings::Integration->Default termscoop install gowgrep, vim, sed, ls, cat, curl, wc, less, findи т.д., и т.д.) вы знаете и любите, прямо в cmd.exe-like терминале без неродного странностиfind->gfindиawk->gawkscoop searchи, scoop infoчтобы найти те, которые вы хотите, или просмотрите группы (есть несколько групп , не только основные и дополнительные)