Ich suche nach einer Möglichkeit, einige Konsolenbefehle automatisch auszuführen, wenn eine Eingabeaufforderung in Windows geöffnet wird, insbesondere, um einige Befehls-Aliase festzulegen.
Wenn zum Beispiel eine Eingabeaufforderung geöffnet wird, möchte ich, dass ein Befehl wie der folgende automatisch ausgeführt wird, damit ich ihn ls
anstelle von verwenden kann dir
.
doskey ls=dir
Wie geht das?
windows
command-line
console
autorun
Daniel Williams
quelle
quelle
cmd.exe
.Antworten:
Wenn Sie möchten, dass es beim Booten geladen wird, anstatt sich anzumelden, und wenn Sie XP Pro haben (XP Home enthält nicht gpedit.msc), gehen Sie wie folgt vor:
und drücke Enter. Führen Sie dann gpupdate / force über eine Befehlszeile aus.
Gehe zu
und fügen Sie den Speicherort zum Skript hinzu.
Sie können dies auch für eine Benutzeranmeldung unter tun
Wenn Sie über XP Home verfügen, können Sie die Skripte in eines der folgenden Verzeichnisse kopieren:
um sie beim Booten zu laden, oder:
zum Laden für einen Benutzer bei der Anmeldung. Der GroupPolicy-Ordner ist ausgeblendet.
quelle
Befehls-Aliase sind spezifisch für das Konsolenfenster, in dem Sie sie konfigurieren. Daher funktioniert ein Startskript nicht. Du kannst es so machen:
Erstellen Sie eine Batch-Datei (
.cmd
) mit Ihren Doskey- Befehlen und fügen Sie sie irgendwo in die Anwendungsdaten ein.Konfigurieren Sie es so, dass es beim Öffnen von cmd automatisch gestartet wird . Die Einstellung befindet sich in der Registrierung:
HKCU\SOFTWARE\Microsoft\Command Processor
AutoRun
"%AppData%\aliases.cmd"
quelle
if exist "%AppData%\aliases.cmd" "%AppData%\aliases.cmd"
Verschiedene Befehlsinterpreter behandeln Befehlsaliase auf unterschiedliche Weise.
Microsofts CMD stützt sich auf das Win32-Konsolensubsystem, um seinen Befehls-Aliasing-Mechanismus bereitzustellen. Der
doskey
Befehl interagiert tatsächlich mit der Konsole des Prozesses, und es ist die Konsole selbst, die Aliase enthält. Somit sind Aliase pro Konsole und vorübergehend.TCC / LE von JP Software verarbeitet Aliase selbst. Mit dem
alias
Befehl können Sie Aliase anzeigen und bearbeiten, die entweder "lokal" oder "global" sind. Aliase sind noch vorübergehend, aber entweder für einen Befehlsinterpreterprozess privat oder für alle Befehlsinterpreterprozesse (über alle Konsolen hinweg) gemeinsam.Shells wie die Korn-Shell im SFUA-Dienstprogramm-Toolkit - deren Tools im Subsystem für UNIX-basierte Anwendungen ausgeführt werden , das im Lieferumfang von Windows 7 Ultimate Edition und Windows Server 2008 R2 enthalten ist (für Windows XP kann es heruntergeladen und installiert werden) Services für UNIX Version 3.5 .) - und die Bourne Again-Shell von cygwin behandeln Aliase ebenfalls selbst. Aliase sind vorübergehend und werden per Befehlsinterpreter verarbeitet.
Das automatische Laden eines Standard-Anfangssatzes von Aliasen hängt auch vom Befehlsinterpreter ab.
In allen Fällen fügt man Befehle ein, um die Aliase in einem Skript festzulegen.
grawity
hat bereits einen der beiden Registrierungsschlüssel angegeben, mit denen das CMD von Microsoft beim Start einen Befehl ausführt . Leider ist dies ein Interpreter-Prozess pro Befehl, obwohl die Aliase selbst pro Konsole gespeichert sind . Starten Sie einen sekundären Befehlsinterpreter vom ersten, und alle manuellen Änderungen an den Standardaliasnamen werden zurückgesetzt. Eine Alternative, die die Initialisierung mindestens einmal pro Konsole durchführt, ist das Hinzufügen der/K
Option und des Namens eines Befehlsskripts,doskey
das in der Verknüpfung, mit der der Befehlsinterpreter gestartet wird, zum Befehlsende aufruft .TCC / LE von JP Software führt das
TCSTART
Skript beim Start automatisch aus . Dies ist wiederum ein pro-Befehl-Interpreter-Prozess. Die "lokalen" Aliasnamen von TCC gelten jedoch auch für den Prozess des Befehlsinterpreters. Daher ist dies der richtige Ort, um Aliasnamen zu initialisieren, wenn lokale Aliasnamen verwendet werden. Erstellen Sie für globale Aliase einfach eine Verknüpfung in IhremStartup
Ordner, die Aliase aus einer Datei lädt (mitalias /r
), und führen Sie dann denshralias
Befehl aus, sodass sie bestehen bleiben, nachdem diese Verknüpfung ausgeführt wurde.Tun Sie für die Bourne Again- und Korn-Shells einfach das Gleiche wie für diese Shells auf jeder anderen Plattform. Verwenden Sie den
alias
Befehl in den Skripten$HOME/.profile
und$HOME/.bashrc
für die Bourne Again-Shell. Verwenden Sie denalias
Befehl in$HOME/.profile
, ENV und den$HOME/.kshrc
Skripten für die Korn-Shell.quelle
Die Antwort von Gravity hat mir sehr gut gefallen.
Ich habe ein shell-aliases.cmd-Skript in meinem Dokumentenordner erstellt (irgendwo finde ich es später).
Erstellen Sie dann den erweiterbaren Zeichenfolgenwert "AutoRun" im Registrierungsschlüssel:
'HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor'
Stellen Sie den Wert auf den vollständigen Pfad zur Aliase-Datei ein (Mine befand sich unter 'C: \ Users \ Lee \ Documents \ shell-aliases.cmd').
Nachdem ich die Eingabeaufforderung neu geladen hatte, funktionierten meine Doskey-Aliase. Außerdem ist meine Aliase-Datei leicht zugänglich und kann bearbeitet werden, wenn ich mir überlege, weitere hinzuzufügen.
quelle
Es gibt verschiedene Speicherorte, aber das Startmenü> Startordner ist wahrscheinlich der einfachste.
Führen Sie 'msconfig' aus und sehen Sie, welche Programme gestartet werden und warum. Sie können Ihr Programm einfach zu einer dieser Listen hinzufügen (z. B. in der Registrierung).
quelle
Das Problem hierbei ist, dass diese Ersetzungen nur in der geöffneten CMD-Eingabeaufforderung verfügbar sind, wenn Sie dies beim Start tun. Wenn es geschlossen wird, gehen alle diese Ersetzungen verloren und müssen für jede geöffnete Eingabeaufforderung erneut ausgeführt werden.
Also, einige alternative Möglichkeiten (Sie können sie kombinieren):
I. Erstellen Sie einen Stapel und eine Verknüpfung:
II. Erstellen Sie einen Stapel und einen Eintrag in der Umgebungsvariablen PATH:
quelle