Unter Linux können wir zum Benutzer nach Hause gehen, indem wir das ~
Zeichen tilde ( ) eingeben, nachdem cd
:
cd ~
Wie mache ich das gleiche in Windows?
Jedes Mal muss ich Folgendes eingeben:
cd C:\Document and Settings\freewind
Das ist zu langweilig.
windows
linux
command-line
Freewind
quelle
quelle
Antworten:
cd /d "%HOMEDRIVE%%HOMEPATH%"
würde es tun - aber ich bin nicht sicher, ob Sie es für eine Verbesserung halten.Sie können auch einen Alias für den obigen Befehl definieren:
Danach ist es einfach
cdhome
.quelle
~
.Sie können verwenden,
cd /d %USERPROFILE%
wenn Sie cmd verwenden.oder Sie können verwenden,
cd ~
wenn Sie PowerShell verwenden.quelle
c:\documents and settings\...
, die Leerzeichen werden es brechen, wenn es nicht in Anführungszeichen steht)cd
ist eine Ausnahme. Da es sich immer um ein einziges Argument handelt, ist keine Angabe erforderlich. (Windows, Programme und Einbauten müssen ihre Kommandozeile selbst analysieren, wird die Shell es nicht.) Immer zitiert Pfade ist eine gute Praxis, aber.cmd.exe
selbst und seine verrückten/c
./c "C:\foo bar\baz" "my file.txt"
oder/c "\"C:\foo bar\baz\" \"my file.txt\""
oder/c ""C:\foo bar\baz" "my file.txt""
? Was noch schlimmer ist, ist, dass das Parsen davon abhängt, ob/s
zuvor angegeben wurde, ob Sonderzeichen vorhanden sind, ob die ausführbare Datei benannt istC:\foo bar\baz
oder nurC:\foo
...Eine Möglichkeit besteht darin, den
subst
Befehl an einer Eingabeaufforderung zu verwenden:Jedes Mal, wenn Sie zu Laufwerk Z: navigieren, wird Ihr Benutzerordner angezeigt.
Der Nachteil ist, dass Sie es jedes Mal ausführen müssen, wenn Sie sich anmelden. Ich habe eine Batch-Datei verwendet und sie einfach in meinen Startordner gelegt, aber es gibt wahrscheinlich elegantere Lösungen dafür.
Der Vorteil ist, dass es im Gegensatz zu einem Doskey-Alias universell funktioniert (Windows Explorer, Dialogfeld zum Durchsuchen usw.), nicht nur beim Wechseln von Verzeichnissen an der Eingabeaufforderung. Dies ist besonders hilfreich für alte Programme mit alten Dialogfeldern zum Durchsuchen, die Laufwerksbuchstaben auf der obersten Ebene anstelle von "Desktop" haben.
quelle
Du kannst das:
quelle
E:
unterbrochen , wenn Sie sich auf einem anderen Laufwerk befinden - z. B. wenn Sie sich auf einem anderen Laufwerk befinden und Ihr Homedir eingeschaltet istC:
Sie können eine Stapeldatei mit dem Namen
~.bat
contain erstellenUnd füge es deiner PATH-Variablen hinzu (Start -> [Rechtsklick auf "Computer"] -> Eigenschaften -> "Erweiterte Systemeinstellungen" [in der linken Spalte] -> "Umgebungsvariablen"
Bearbeiten Sie von dort aus einfach Ihre PATH-Variable, um den Ordner einzuschließen, der Ihre
~.bat
Datei enthält. (Auf diese Weise können Sie Ihr Skript von überall aus aufrufen, indem Sie nur den Dateinamen und nicht den absoluten Pfad zur Datei verwenden.)Stellen Sie außerdem sicher, dass Ihre
PATHEXT
Umgebungsvariable.BAT
irgendwo enthält (dies ermöglicht es Ihnen,~
anstelle von einzugeben~.bat
).Wenn Sie es verwenden müssen, geben Sie es einfach
~
an der Eingabeaufforderung ein. Diese Lösung ist beständig - Sie müssen sie nicht jedes Mal einrichten, wenn Sie eine Shell starten, und Sie müssen Ihre Registrierung nicht hacken.quelle
Leider kenne ich keine perfekte Lösung, aber es gibt ein paar hackige Optionen:
Option 1: Setzen Sie ~ als Befehlsalias für doskey
Auf diese Weise können Sie einfach
~
chdir eingeben und an Ihr Homedir senden.Dies verkürzt natürlich die Anzahl der Tastenanschläge, die nach Hause kommen (sogar im Vergleich zu Linux), ist jedoch weniger robust, da Sie es nicht wirklich als Teil eines anderen Pfades verwenden oder viel damit tun können, als nur nach Hause zu gehen.
Option 2: Setze ~ als Variable
Eine andere Option, wenn Sie eine robustere Option wünschen, ist das Festlegen einer Variable:
aber mit diesem würde verwendet werden, wie:
Es kann auch in die meisten Pfade injiziert werden und beschränkt sich nicht darauf, einfach nach Hause zu gehen.
Beide Möglichkeiten gleichzeitig
Sie können auch beide Methoden gleichzeitig implementieren. Wenn Sie die% 's haben, wird die Variable verwendet - andernfalls wird sie
~
als Befehl behandelt.Ein weiterer Tipp (irgendwie verwandt):
Es ist weniger wahrscheinlich, dass dies auf einem Firmencomputer, zumindest auf Ihrem Heim-PC, akzeptabel ist, um zusätzliche Tastenanschläge zu speichern. Es ist keine schlechte Idee, Ihr
%USERPROFILE%
Verzeichnis zu einem einfachen Namen zu machen . Wie Sie meinen obigen BeispielenC:\Users\a
entnehmen können, lautet mein Benutzerverzeichnis - ich hatte immer 'aplocher' oder 'adamp' und als ich zu einem einzelnen Buchstaben gewechselt habe, war es magisch.quelle
In Powershell
%variable%
funktioniert die Syntax nicht. Du kannst das :quelle
cd ~
in PowerShell verwenden.Mit PowerShell können Sie mithilfe der folgenden Methode von einem beliebigen Ort aus in Verzeichnissen navigieren, sofern Sie Ihren Benutzernamen kennen und über Dateiverzeichnisberechtigungen verfügen.
Siehe Beispiel unten in PowerShell (64 Bit). Ich habe dies auf einer Windows 7 Pro 64bit Box getestet.
quelle