Risposte:
Questa è un'ottima domanda Ho trovato questo . Suppongo che potresti creare uno script cmd e farlo funzionare all'avvio di cmd: -?
; Run a command when CMD.exe starts
[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor]
"AutoRun"=-
EDIT: l'ho appena provato. Ho AutoRun=C:\mini\bashrc.cmde bashrc.cmd lo è
@echo off
set TEST_VAR=something
quando inizio cmd ed entro echo %TEST_VAR%dice dice something. Quindi funziona :)
doskey∙♦=exit(dove ♦è [char]4). Ti permette di chiudere la shell con Ctrl + D, Invio.
AUTORUN=%USERPROFILE%\autorun.cmdmodo che ne utilizzi uno per l'utente corrente ... comunque un bel trucco, lo proverò quando torno a casa ... Uso principalmente bash ultimamente, ma questo sarebbe d'aiuto.
È possibile creare un collegamento cmd.exee aggiungere l' /kopzione per eseguire un determinato file .bat all'avvio, in questo modo:
cmd.exe /k "%HOMEDRIVE%\%HOMEPATH%\cmd-startup.bat"
cmd-startup.bat nella tua home dir funzionerebbe quindi proprio come .bashrc
Modifica della risposta di mc3b per coloro che sono Windows come me.
Crea un file C:\bashrc.cmdo dove vuoi che risieda il tuo file "rc".
@echo off
set TEST_VAR=something
Corri regeditcercandolo o eseguendolo in cmd.
Nelle cartelle a sinistra vai a:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor
Fare clic con il tasto destro sulla Command Processorcartella e fare clic New -> String Value. Immettere la chiave AutoRun. Fare doppio clic su AutoRune inserire la posizione di base C:\bashrc.cmd.
Test: apri una nuova finestra cmd e digita:
echo %TEST_VAR%
se dice something, funziona.
Supponendo che la tua shell sia Powershell, non cmd, puoi creare un profilo per la tua shell. Tali profili sono fondamentalmente script che vengono eseguiti quando si avvia una shell. Proprio come .bashrc. Una parte importante di questo post potrebbe essere la seguente:
Le posizioni (su Windows Vista) dei profili per l'host powershell.exe sono le seguenti:
%windir%\system32\WindowsPowerShell\v1.0\profile.ps1
Questo è per tutti gli utenti del computer e per tutte le shell.%windir%\system32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1
Questo è per tutti gli utenti del computer, ma è solo per la shell Microsoft.PowerShell.%UserProfile%\Documents\WindowsPowerShell\profile.ps1
Questo è solo per l'utente corrente e tutte le shell.%UserProfile%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Questo è solo per l'utente corrente e solo per la shell Microsoft.PowerShell.Questi profili non sono creati per impostazione predefinita. Esistono solo se li crei.
Sembra essere lo stesso su Windows 7, 8 e 10. Puoi anche trovare maggiori informazioni qui .
Nota: potrebbe essere necessario eseguire quanto segue. Altrimenti, il tuo profilo potrebbe non essere eseguito.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
È inoltre possibile eseguire quanto segue come amministratore per modificare la configurazione per tutti gli utenti.
Set-ExecutionPolicy RemoteSigned
EDIT : Trovato questo: http://msdn.microsoft.com/en-us/library/bb613488(VS.85).aspx
Per spiegare la soluzione di Martin (il collegamento), ecco l'equivalente di PowerShell.
NOTA : è necessario abilitare l'esecuzione dello script PowerShell. Se disabilitato, è necessario eseguire PowerShell elevato ed eseguirlo Set-ExecutionPolicy Unrestricted. Ovviamente, questo non è raccomandato per motivi di sicurezza, ma il gioco è fatto.
powershell.exe -noexit -File "%HOMEDRIVE%\%HOMEPATH%\ps-startup.ps1"
Avere un file nominato ps-startup.ps1nella directory dell'utente e il collegamento lo eseguirà come file PowerShell all'avvio. Esegui PowerShell con questo collegamento da qui in poi.
Fondamentalmente la risposta di nc3b funziona, ma il pacchetto DevBox-Common di Chocolatey lo renderà più semplice .
choco install devbox-common -y
.bashrc.bate .bashrc.include.aliases-common.batnel tuo percorso di casa. Ogni corrispondenza dei file .bashrc.include.*.batverrà eseguita ad ogni avvio della shell dei comandi.A tutte le persone che provengono da un mondo simile a unix e che si rivolgono a questa domanda (cioè a tutti, dal momento che si chiede .bashrc): migliora radicalmente la vita della tua console Windows e smetti di usare stock cmd.exee il terminale Windows predefinito !! Nessuno che ponga questa domanda, o guardando le risposte a questa domanda, dovrebbe usare l'attuale default cmd.exee il terminale!
Se disposto a disinserire lo stock cmd.exe(non conosco alcun motivo valido per non farlo), una semplice risposta alla domanda originale è:
Installa e usa Cmder e il tuo .bashrcequivalente diventa
%CMDER_ROOT%\config\user_profile.cmd, migliorando anche in modo significativo la tua esperienza shell / console.
Seguono opinioni, estensioni e raccomandazioni vagamente correlate ...
Cmder è un metapacchetto che confeziona ConEmu , Clink e un mucchio di impostazioni e cose extra. ConEmu è l'emulatore di terminale che fornisce la funzionalità di script di avvio, che (tramite le impostazioni ConEmu predefinite fornite da Cmder ) termina il routing al indicato %CMDER_ROOT%\config\user_profile.cmd.
È possibile che si desideri utilizzare esplicitamente ConEmu e Clink in modo indipendente, anziché utilizzare il pacchetto Cmder in bundle.
Per farlo, e per aggiungere un po 'più di "lavoro su Windows, cosa dovrei fare", la felicità, di seguito sono alcune cose buone / supposte da fare. Questi sono certamente MOLTO vagamente correlati alla domanda iniziale, ma di recente ho eseguito di nuovo un'installazione di Windows, ho già scritto la maggior parte di questo e il pubblico di destinazione in questa domanda è corretto, quindi eccoti ...
extrasbucket per molte cose non console ( scoop bucket add extras)cmd.exe
scoop install clinkclink autorun installdi farlo funzionare quando cmd.exeviene eseguitoscoop install conemuSettings::Integration->Default termscoop install cmder), ma personalmente penso che sia più pulito installare / eseguire Clink e ConEmu separatamente.scoop install gowgrep, vim, sed, ls, cat, curl, wc, less, find, ecc, ecc) che si conoscono e amano, direttamente nel vostro cmd.exeterminale -come senza stranezza non nativafind->gfindeawk->gawkscoop searche scoop infoper trovare quelli che vuoi, o sfoglia i secchi (ci sono diversi secchi , non solo principali ed extra)