Ich versuche meine CMD zu ändern, um nur den aktuellen Verzeichnisnamen dynamisch anzuzeigen:
Desktop $
Als ich den Ordner wechselte, muss er aktualisiert werden.
Es ist nicht erforderlich, Code in einer reinen Batch-Datei zu sein. Dies kann von externen Befehlen, Cygwin Bash usw. abhängen.
@echo off
set a=bash -c "pwd | sed 's,^\(.*/\)\?\([^/]*\),\2,'"
%a%
cmd
Ausgänge
_test-et
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. Tüm hakları saklıdır.
>>
Aber
>> prompt %a%
gibt
bash -c "pwd | sed 's,^\(.*/\)\?\([^/]*\),\2,'"
windows
command-line
prompt
cmd.exe
guneysus
quelle
quelle
cd ~
auf PowerShell funktioniert, jedoch nicht in cmd.Ich glaube, Sie können den
prompt
Befehl verwenden.Beispiel:
Aktualisieren
Erstellen Sie eine Batchdatei mit dem folgenden Code und führen Sie sie aus.
Ergebnis ist:
quelle
CURRENT DIRECTORY
Variable sehen? Lass es uns testen. Öffnen Sie cmd und setzen Sie die Eingabeaufforderung auf: Dieseset prompt=$B$C$D$E$F$G$H$L$N$P$Q$S$T$V$_$$
enthält alle Variablen außer$+ and $M
. Aber ich kann immer noch nicht sehen, was dir aktuell ist, aber|(Pzt 04.11.2013←)<CC:\Users= 17:44:02,69Microsoft Windows [Version 6.3.9600]
warum? Gibt es einen großen Fehler in cmd.exe?setx
ihm ist system :) Es shoud werdenset
nichtsetx
Zusätzlich werde ich versuchen , ersetzencd
Funktion, es dynamisch zu aktualisieren.Basierend auf dem Wikipedia-Eintrag für AUTOEXEC.BAT
prompt $P$G
macht man was man will. Dies ist ein Überbleibsel aus dem guten alten DOS. Gott weiß nur, warum so etwas seit den Anfängen von ... DOS3.3 oder so niemals zum Standard gemacht wurde.quelle
prompt
Befehl ist dies nicht möglich . Zumindest nicht incmd.exe
.Ich mag es, den vollständigen Kontext zu kennen, in dem ich mich in der Konsole befinde, aber je tiefer Sie sich in der Verzeichnisstruktur befinden, desto länger ist das "aktuelle Laufwerk und der aktuelle Pfad". Um also das Beste aus beiden Welten zu haben, habe ich das vollständige Laufwerk und den vollständigen Pfad gefolgt von einem CR und einem ">".
Das mache ich jetzt auf allen Windows-Rechnern, auf die ich Zugriff habe:
Sie erhalten eine Eingabeaufforderung mit dem Benutzernamen, dem Hostnamen, dem vollständigen Pfad zum aktuellen Ordner und einer neuen Eingabezeile:
SETX speichert die Variable (in diesem Fall "PROMPT") permanent (durch Neustarts, bis Sie sie ändern).
quelle