Cmder: Alias ​​mit Gleichheitszeichen erstellen wird im cmder-Kli abgeschnitten

Erstellt am 2. Feb. 2017  ·  3Kommentare  ·  Quelle: cmderdev/cmder

Hey, laut Titel, wenn ich in der cmder-Eingabeaufforderung versuche, einen Alias ​​mit einem Gleichheitszeichen zu erstellen, wird das, was mit = geliefert wird, abgeschnitten und nicht korrekt in der Datei user-aliases.cmd gespeichert.

Zum Beispiel:
λ alias wifi=netsh wlan show profile $1 key=clear
wird gespeichert als:
wifi=netsh wlan show profile $1 ke

Ich denke, für $reasons liest cmder y=clear als $something und ist daher vom eigentlichen Alias-Speicherprozess abgeschnitten. Durch manuelles Bearbeiten der Datei wird dieses Problem schnell behoben.

Übersehe ich eklatant etwas im ständig wachsenden

Hilfreichster Kommentar

Es sieht so aus, als ob der Befehl doskey (der von Alias ​​umschlossen wird) Ihr Beispiel behandelt, daher kann dies ein Fehler im Skript alias.bat sein.

Sie können Fehler beheben, indem Sie alias.bat ändern und die erste Zeile in <strong i="6">@echo</strong> on ändern. Wenn ich es mir jetzt ansehe, sehe ich, dass es einen Punkt gibt, an dem das Skript den Alias-String mit "=" als Trennzeichen aufteilt und davon ausgeht, dass nur ein = in dem String vorhanden ist.

Hier ist eine Lösung: Suchen Sie in alias.bat die Zeile mit der Aufschrift ":: Validate alias" und ersetzen Sie in der folgenden Zeile die '2' durch ein '*', etwa so:

for /f "delims== tokens=1,* usebackq" %%G in ( echo "%_x%" ) do (

Bei mir scheint das mit deinem Beispiel zu funktionieren.

Alle 3 Kommentare

Es sieht so aus, als ob der Befehl doskey (der von Alias ​​umschlossen wird) Ihr Beispiel behandelt, daher kann dies ein Fehler im Skript alias.bat sein.

Sie können Fehler beheben, indem Sie alias.bat ändern und die erste Zeile in <strong i="6">@echo</strong> on ändern. Wenn ich es mir jetzt ansehe, sehe ich, dass es einen Punkt gibt, an dem das Skript den Alias-String mit "=" als Trennzeichen aufteilt und davon ausgeht, dass nur ein = in dem String vorhanden ist.

Hier ist eine Lösung: Suchen Sie in alias.bat die Zeile mit der Aufschrift ":: Validate alias" und ersetzen Sie in der folgenden Zeile die '2' durch ein '*', etwa so:

for /f "delims== tokens=1,* usebackq" %%G in ( echo "%_x%" ) do (

Bei mir scheint das mit deinem Beispiel zu funktionieren.

Vielen Dank für die detaillierte Erklärung des vorliegenden Problems, sehr nützlich für mich, da ich ein Neuling in Sachen CMD bin! :)
Ich kann bestätigen, dass Ihre Korrektur das Problem behoben hat, danke! Soll ich eine PR machen?

Ich kann mit dem Fix einen Pull-Request erstellen. Vielen Dank für die Bestätigung, dass es für Sie funktioniert.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen