Antworten:
Das ist eine sehr gute Frage. Ich fand diese . Ich nehme an, Sie könnten ein Cmd-Skript erstellen und beim Starten von Cmd ausführen lassen: -?
; Run a command when CMD.exe starts
[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor]
"AutoRun"=-
EDIT: Ich habe es gerade versucht. Ich habe AutoRun=C:\mini\bashrc.cmd
und bashrc.cmd ist
@echo off
set TEST_VAR=something
wenn ich cmd starte und eingebe steht echo %TEST_VAR%
drauf something
. So funktioniert es :)
doskey∙♦=exit
(wo ♦
ist [char]4
). Ermöglicht das Schließen der Shell mit Strg + D, Eingabetaste.
AUTORUN=%USERPROFILE%\autorun.cmd
damit es einen für den aktuellen Benutzer verwendet ... cooler Trick, werde es aber versuchen, wenn ich nach Hause komme ... Ich verwende in letzter Zeit meistens bash, aber das würde helfen.
Änderung der Antwort von mc3b für diejenigen, die Windows Noobs wie ich sind.
Erstellen Sie eine Datei in C:\bashrc.cmd
oder an einem beliebigen Ort, an dem sich Ihre "rc" -Datei befinden soll.
@echo off
set TEST_VAR=something
Führen regedit
von danach zu suchen oder es in cmd ausgeführt wird .
Navigieren Sie in den Ordnern links zu:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor
Klicken Sie mit der rechten Maustaste auf den Command Processor
Ordner und klicken Sie auf New -> String Value
. Geben Sie den Schlüssel ein AutoRun
. Doppelklicken Sie auf AutoRun
und geben Sie den bashrc-Speicherort ein C:\bashrc.cmd
.
Test: Öffnen Sie ein neues Cmd-Fenster und geben Sie Folgendes ein:
echo %TEST_VAR%
Wenn es heißt something
, funktioniert es.
Angenommen, Ihre Shell ist Powershell und nicht cmd, können Sie ein Profil für Ihre Shell erstellen . Solche Profile sind im Grunde Skripte, die ausgeführt werden, wenn Sie eine Shell starten. Genau wie .bashrc
. Ein wichtiger Teil dieses Beitrags könnte sein:
Die Speicherorte (unter Windows Vista) der Profile für den Host powershell.exe lauten wie folgt:
%windir%\system32\WindowsPowerShell\v1.0\profile.ps1
Dies gilt für alle Benutzer des Computers und für alle Shells.%windir%\system32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1
Dies gilt für alle Benutzer des Computers, jedoch nur für die Microsoft.PowerShell-Shell.%UserProfile%\Documents\WindowsPowerShell\profile.ps1
Dies ist nur für den aktuellen Benutzer und alle Shells.%UserProfile%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Dies gilt nur für den aktuellen Benutzer und nur für die Microsoft.PowerShell-Shell.Diese Profile werden nicht standardmäßig erstellt. Sie existieren nur, wenn Sie sie erstellen.
Unter Windows 7, 8 und 10 scheint es dasselbe zu sein. Weitere Informationen finden Sie auch hier .
Hinweis: Möglicherweise müssen Sie Folgendes ausführen. Andernfalls wird Ihr Profil möglicherweise nicht ausgeführt.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Sie können auch Folgendes als Administrator ausführen, um die Konfiguration für alle Benutzer zu ändern.
Set-ExecutionPolicy RemoteSigned
BEARBEITEN : Gefunden: http://msdn.microsoft.com/en-us/library/bb613488(VS.85).aspx
Im Folgenden finden Sie das PowerShell-Äquivalent, um Martins Lösung (die Verknüpfung) zu erläutern.
HINWEIS : Die PowerShell-Skriptausführung muss aktiviert sein. Wenn dies deaktiviert ist, müssen Sie eine PowerShell mit erhöhten Rechten ausführen Set-ExecutionPolicy Unrestricted
. Offensichtlich wird dies aus Sicherheitsgründen nicht empfohlen, aber los geht's.
powershell.exe -noexit -File "%HOMEDRIVE%\%HOMEPATH%\ps-startup.ps1"
Haben Sie eine Datei mit dem Namen ps-startup.ps1
in Ihrem Benutzerverzeichnis und Ihre Verknüpfung führt sie beim Start als PowerShell-Datei aus. Führen Sie einfach PowerShell mit dieser Verknüpfung von hier aus.
Grundsätzlich funktioniert die Antwort von nc3b, aber das DevBox-Common- Paket von Chocolatey wird es einfacher machen .
choco install devbox-common -y
.bashrc.bat
und .bashrc.include.aliases-common.bat
in Ihrem Heimatpfad. Jeder Dateiabgleich .bashrc.include.*.bat
wird bei jedem Start der Befehlsshell ausgeführt.An alle Leute, die aus einer Unix-ähnlichen Welt kommen und auf diese Frage stoßen (dh an alle, die danach fragen .bashrc
): Verbessern Sie die Lebensdauer Ihrer Windows-Konsole radikal und verwenden Sie nicht mehr Stock cmd.exe
und das Standard-Windows-Terminal !! Niemand, der diese Frage stellt oder Antworten auf diese Frage sucht, sollte die aktuelle Standardeinstellung cmd.exe
und das aktuelle Terminal verwenden!
Wenn Sie bereit sind, den Lagerbestand auszuschalten cmd.exe
(ich kenne keinen gültigen Grund, dies nicht zu tun), lautet eine einfache Antwort auf die ursprüngliche Frage:
Installieren und verwenden Sie Cmder und Ihre .bashrc
Entsprechung wird
%CMDER_ROOT%\config\user_profile.cmd
, während Sie gleichzeitig Ihre Shell- / Konsolenerfahrung erheblich verbessern.
Meinungen, Erweiterungen und lose verwandte Empfehlungen folgen ...
Cmder ist ein Metapaket, das ConEmu , Clink und eine Menge zusätzlicher Einstellungen und Dinge zusammenfasst. ConEmu ist der Terminal-Emulator, der die Startskript-Funktion bereitstellt , die (über die von Cmder bereitgestellten Standardeinstellungen von ConEmu ) das Routing zum angegebenen Ende bewirkt%CMDER_ROOT%\config\user_profile.cmd
.
Möglicherweise möchten Sie ConEmu und Clink nur explizit unabhängig voneinander verwenden, anstatt das mitgelieferte Cmder-Paket zu verwenden.
Um das zu tun und ein paar Dinge hinzuzufügen, die "an Windows arbeiten müssen, was soll ich tun", siehe unten, sind einige gute Dinge, die zu tun sind. Diese haben zwar sehr viel mit der ursprünglichen Frage zu tun, aber ich habe kürzlich ein Windows-Setup noch einmal durchlaufen, habe das meiste davon bereits getippt und die Zielgruppe in dieser Frage ist korrekt, also los geht's ...
extras
Bucket auf jeden Fall für viele Dinge, die keine Konsole sind ( scoop bucket add extras
)cmd.exe
scoop install clink
clink autorun install
dass es auch ausgeführt wird, wenn ausgeführt cmd.exe
wirdscoop install conemu
Settings::Integration->Default term
scoop install cmder
), aber ich persönlich halte es für sauberer, Clink und ConEmu getrennt zu installieren / auszuführen.scoop install gow
grep
, vim
, sed
, ls
, cat
, curl
, wc
, less
, find
, etc, etc) Sie kennen und lieben, direkt in Ihrem cmd.exe
-ähnlichen Terminal ohne nicht-native Seltsamkeitfind->gfind
undawk->gawk
scoop search
und scoop info
, um die gewünschten zu finden, oder stöbern Sie in den Eimern (es gibt mehrere Eimer , nicht nur Haupt- und Extras).