57

Только что обнаружил doskey emacs = emacs -nw $ *, но без чего-то вроде .bashrc мне придется вводить это каждый раз, когда я запускаю оболочку, верно?

6 ответов6

60

Это очень хороший вопрос. Я нашел это. Я полагаю, вы могли бы сделать сценарий 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 говорит. Так работает :)

18

Вы можете создать ярлык для cmd.exe и добавить ключ /k для запуска определенного файла .bat при запуске, что-то вроде этого:

cmd.exe /k "%HOMEDRIVE%\%HOMEPATH%\cmd-startup.bat"

cmd-startup.bat в вашем домашнем каталоге будет работать так же, как .bashrc

13

Модификация ответа mc3b для тех, кто такие как Windows Noobs.

Создайте файл в 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 говорит, это работает.

5

Предполагая, что ваша оболочка - Powershell, а не cmd, вы можете создать профиль для вашей оболочки. Такие профили в основном представляют собой сценарии, которые выполняются при запуске оболочки. Прямо как .bashrc . Важной частью этого поста может быть следующее:

Расположение (в Windows Vista) профилей для хоста powershell.exe является следующим:

  • %windir%\system32\Windows­PowerShell\v1.0\profile.ps1
    Это для всех пользователей компьютера и для всех оболочек.
  • %windir%\system32\Windows­PowerShell\v1.0\Microsoft.Power­Shell_profile.ps1
    Это для всех пользователей компьютера, но только для оболочки Microsoft.PowerShell.
  • %UserProfile%\Documents\Windows­PowerShell\profile.ps1
    Это только для текущего пользователя и всех оболочек.
  • %UserProfile%\Documents\WindowsPowerShell\Micro­soft.PowerShell_profile.ps1
    Это только для текущего пользователя и только для оболочки Microsoft.PowerShell.

Эти профили не создаются по умолчанию. Они существуют, только если вы их создадите.

Похоже, то же самое на Windows 7, 8 и 10. Вы также можете найти больше информации здесь.


Примечание. Возможно, вам потребуется выполнить следующее. В противном случае ваш профиль не может быть выполнен.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Вы также можете запустить следующее как администратор, чтобы изменить конфигурацию для всех пользователей.

Set-ExecutionPolicy RemoteSigned
3

РЕДАКТИРОВАТЬ: Найдено это: 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 с этим ярлыком.

3

В основном ответ nc3b работает, но пакет DevBox-Common от Chocolatey сделает это проще.

  1. Если вы еще не установили Chocolatey, установите его.
  2. Установите пакет DevBox-Common с помощью choco install devbox-common -y
    • Вы должны ввести эту команду внутри административного cmd.exe или PowerShell.
  3. Теперь у вас есть .bashrc.bat и .bashrc.include.aliases-common.bat в вашем домашнем пути. Каждый файл соответствует .bashrc.include.*.bat будет выполняться при каждом запуске командной оболочки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .