it-swarm.com.de

Was ist die Alternative für ~ (Home-Verzeichnis des Benutzers) an der Windows-Eingabeaufforderung?

Ich versuche, den Befehl Prompt zu verwenden, um einige Dateien zu verschieben, Ich bin an das Linux-Terminal gewöhnt, wo ich ~ zum Angeben meines Heimatverzeichnisses Benutze es für Windows Befehl Eingabeaufforderung (Documents and Settings\[user])

134
fenerlitk

Du wirst enttäuscht sein: %userprofile%

Sie können jedoch auch andere Terminals verwenden. Powershell, von dem ich glaube, dass Sie es auf XP und später (und mit Win7 vorinstalliert) erhalten können, ermöglicht die Verwendung von ~ für das Ausgangsverzeichnis.

204
Jay

Sie können %HOMEDRIVE%%HOMEPATH% für das Laufwerk + \docs settings\username oder \users\username.

31
Alex K.

Sie können dazu die Umgebungsvariable %systemdrive%%homepath% verwenden.

Wenn Sie die beiden Befehlsvariablen verketten, erhalten Sie den Pfad des gewünschten Verzeichnisses des Benutzers wie folgt:

  1. Wenn Sie echo %systemdrive% an der Eingabeaufforderung ausführen, erhalten Sie Folgendes:

    C:
    
  2. Wenn Sie echo %homepath% an der Eingabeaufforderung ausführen, erhalten Sie Folgendes:

    \Users\<CurrentUserName>
    

Wenn sie zusammen verwendet werden, wird daraus:

C:\Users\<CurrentUserName>
9
RBT

Update 19. Oktober 2018.
Falls jemand anderes mein Vorgehen versucht, behandelt meine ursprüngliche Antwort unten keine Leerzeichen, z. B. schlägt das Folgende fehl.

> cd "c:\Program Files"
Files""]==["~"] was unexpected at this time.

Ich denke, es muss einen Weg geben, um das zu lösen. Werde erneut posten, wenn ich meine Antwort verbessern kann.


Meine ursprüngliche Antwort braucht noch Arbeit ... 7. Oktober 2018.
Ich habe gerade versucht, es heute zu tun, und ich glaube, ich habe es verstanden.

Zuerst einige doskey -Makros;

DOSKEY cd=cdtilde.bat $* 
DOSKEY cd~=chdir /D "%USERPROFILE%"
DOSKEY cd..=chdir ..

und dann eine Fledermaus-Datei in meinem Pfad;

cdtilde.bat

@echo off
if ["%1"]==["~"] ( 
    chdir /D "%USERPROFILE%"
) else ( 
    chdir /D %* 
)

All dies scheint gut zu funktionieren. 

cd ~ (traditional habit)
cd~  (shorthand version)
cd.. (shorthand for going up..)

Ich habe gerade set ~=%userprofile% ausprobiert und das funktioniert auch, wenn Sie die gleiche Gewohnheit beibehalten möchten

Sie können dann stattdessen %~% verwenden.

2
Mark Richer

Sie können fast das selbe tun. Öffnen Sie die Umgebungsvariablen und klicken Sie in den "Benutzervariablen für ..." auf die Schaltfläche "Neu".
Variablenname: ~
Variablenwert: Klicken Sie auf die Schaltfläche "Browse Directory ..." und wählen Sie das gewünschte Verzeichnis aus.

Öffnen Sie anschließend cmd und geben Sie Folgendes ein:
cd% ~%
. Es klappt.

2
hkaraoglu

Wenn Sie eine kürzere Version von Jay wollen, können Sie es versuchen 

    set usr=%userprofile%
    cd %usr%

Oder Sie könnten sogar% u% verwenden, wenn Sie möchten. Es werden trotzdem einige Tastenanschläge gespeichert.

1
Scotty J

Sie haben lediglich ein Skript geschrieben, um dies ohne zu viel Eingabe zu tun, während die Portabilität beibehalten wird, da die Einstellung von ~ für %userprofile% auf jedem Windows-PC manuell vorgenommen werden muss, während das Klonen und Festlegen des Verzeichnisses als Teil von PATH mechanisch ist.

https://github.com/yxliang01/Snippets/blob/master/windows/

0
Fries