2010-07-28 09:47:26 +0000 2010-07-28 09:47:26 +0000
110
110

Is er een snelkoppelingsopdracht in Windows opdrachtprompt om in de homedirectory van de huidige gebruiker te komen, zoals in Linux?

Ik ben gewend om

cd ~

te gebruiken om direct in mijn homedirectory te komen. In Windows command prompt moet ik

cd Users\username

doen om daar te komen. Is er een snelkoppeling zoals die voor Linux? Het zou mooi zijn als ik daar kon komen door

cd username

te doen Is zoiets mogelijk in Windows Vista?

Antwoorden (11)

167
167
167
2010-07-28 10:12:08 +0000

Ja, je kunt %HOMEPATH% gebruiken, dat is het volledige pad van de home directory van de gebruiker.

Er zijn nog heel wat andere nuttige variabelen beschikbaar, zoals %OS% (Operating System), of %WINDIR% (Windows system directory). Zie Wikipedia: Omgevingsvariabelen voor een lijst.


Noten:

Eigenlijk zijn de dingen een beetje ingewikkeld (zoals gewoonlijk). %HOMEPATH% bevat alleen het pad, zonder de letter van de drive, dus zal niet werken voor cding vanaf een andere drive. Je kunt ook %USERPROFILE% gebruiken, die wel de stationsletter bevat, en meestal dezelfde directory is als %HOMEPATH%.

De waarden van deze variabelen, en welke voor u de juiste is, hangt af van de Windows-versie en eventuele wijzigingen door een beheerder, aangezien de waarden daarvan kunnen verschillen (zie b.v. de vraag Verschil tussen profiel- en thuispad ).

23
23
23
2013-01-18 18:26:42 +0000

Twee andere opties die beide aan een script kunnen worden toegevoegd en automatisch worden uitgevoerd op een vergelijkbare manier als BillP3rd’s antwoord.

Het zijn twee tekens meer maar…

SET ~=%HOMEPATH%    
CD %~%

of…

CD %~%\Desktop
  • *

Of…

doskey ~=cd %homepath%
~

Natuurlijk kun je deze ~ niet in paden gebruiken, maar als een snelle “spring naar mijn home dir” is het intikken van ~ Enter vrij snel.

19
19
19
2010-07-28 10:47:03 +0000

Je kunt altijd een .bat-bestand ergens in je %PATH% zetten dat het veranderen van het pad voor je doet.

9
9
9
2013-05-07 18:33:50 +0000

Ik heb een .cmd bestand aangemaakt in een directory op mijn pad, en het “cd~.cmd” genoemd. De inhoud is:

@cd %HOMEPATH%

Dus ik kan van overal “cd~” typen om in mijn thuismap te komen. Niet hetzelfde als “cd ~” (let op de missende spatie) maar voor mij dichtbij genoeg.

7
7
7
2014-07-31 18:39:22 +0000

sleske’s antwoord ](https://superuser.com/a/168719/37845) is bijna precies goed, maar het werkt niet altijd.

Als je thuismap op een netwerkshare staat, ingesteld als een gemapt station, voer dan het volgende uit, ongeacht het station van de huidige map:

cd /D %HOMEDRIVE%%HOMEPATH%

De /D switch is nodig om cd van drive te laten veranderen.

5
5
5
2016-03-04 12:16:07 +0000

Is er een snelkoppeling voor `C:\Users<current user>### Is er een snelkoppeling voor ?

Er is geen directe snelkoppeling.

Er zijn een paar verschillende oplossingen (zie hieronder).

  1. Gebruik een omgevingsvariabele samen met cd of cd /d
  2. Gebruik subst of net use Gebruik cygwin of bash om een mapping te maken naar een andere drive letter.

  3. Installeer powershell en gebruik ~

  4. Gebruik powershell - powershell ondersteunt cmd

De laatste oplossing is waarschijnlijk de eenvoudigste als je bereid bent om cd te gebruiken in plaats van cd /d.


Oplossing 1: Gebruik een omgevingsvariabele samen met DOCS of cmd

Als je regelmatig naar deze directory wilt gaan, voer dan het volgende commando uit:

setx DOCS %USERPROFILE%

Dit zal de omgevingsvariabele c: permanent instellen, maar om hem te gebruiken moet je eerst een nieuwe docs.cmd shell starten, dan is de variabele gedefinieerd en klaar voor gebruik:

F:\test>echo %DOCS%
C:\Users\DavidPostill\

Om van directory te veranderen vanaf elke locatie gebruik je het volgende commando:

cd /d %DOCS%

Als je al op drive PATH bent kun je gewoon gebruiken:

cd %DOCS%

Maak een batchbestand (docs) en zet het ergens in je C:\Users\<current user>.

docs.cmd:

@echo off
cd /d %DOCS%

Je kunt dan gewoon subst typen, ongeacht je huidige locatie en het brengt je naar net use

  • *

Oplossing 2: Gebruik subst of net use om een mapping te maken naar een andere drive letter.

U kunt cygwin gebruiken:

subst x: %USERPROFILE%

En dan

x:

Helaas blijven drive mappings niet bewaard tijdens reboots.

Zie de antwoorden in Hoe SUBST mapping persistent maken over reboots? voor gedetailleerde instructies.


Oplossing 3: Installeer bash en gebruik bash

U zou kunnen overwegen om cygwin te installeren:

Cygwin is:

  • een grote verzameling GNU- en Open Source-tools die functionaliteit bieden die vergelijkbaar is met een Linux-distributie op Windows.

Als je cygwin hebt geïnstalleerd, kun je HOME in een cygwin terminal uitvoeren en de bash omgevingsvariabele powershell naar wens instellen.

Alternatieven voor cygwin zijn onder andere msys (MingW) :

MSYS is een verzameling GNU hulpprogramma’s zoals bash, make, gawk en grep om het bouwen van toepassingen en programma’s mogelijk te maken die afhankelijk zijn van de aanwezigheid van traditionele UNIX gereedschappen. Het is bedoeld als aanvulling op MinGW en de tekortkomingen van de cmd-shell.

En Git voor Windows :

Git voor Windows biedt een BASH emulatie die gebruikt wordt om Git vanaf de commandoregel te draaien. *NIX gebruikers zouden zich meteen thuis moeten voelen, omdat de BASH emulatie zich net zo gedraagt als het “git” commando in LINUX en UNIX omgevingen.


Oplossing 4: Gebruik ~

Zoals aangegeven in een commentaar op een andere vraag door SBI powershell ondersteunt 0x6& en je kunt gewoon typen:

net use x: "\computerName\c$\pathName" /persistent:yes
  • *

Further Reading

  • An A-Z Index of the Windows CMD command line - Een uitstekende referentie voor alles wat met Windows cmd line te maken heeft.
  • cd - Wijzig Directory - Kies een Folder (en drive)
  • setx - Stel omgevingsvariabelen permanent in, SETX kan gebruikt worden om Omgevingsvariabelen in te stellen voor de machine (HKLM) of de huidig ingelogde gebruiker (HKCU).
  • subst - Vervang een stationsletter voor een netwerk of lokaal pad.
3
3
3
2010-07-28 10:01:04 +0000

Ik weet niet of het een functie is van ons werk login script of een windows standaard, maar ik kan cd %HOMEPATH% gebruiken om dat te bereiken, waarbij HOMEPATH een omgevingsvariabele is.

1
1
1
2010-08-17 00:42:06 +0000

Als je wilt dat alle opdrachtprompts van gebruikers in hun “home” directory starten, maak dan de volgende registersleutel aan als een Expandable String Value (zonder aanhalingstekens, natuurlijk):

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun : "cd /d %USERPROFILE%"

Als je wilt dat alleen jouw opdrachtprompts het doen:

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun : "cd /d %USERPROFILE%"

Ik maak er een gewoonte van om een c:\Scripts map aan te houden waarin ik een “autoexec”-type batchbestand bewaar dat ik via deze sleutel aanroep.

1
1
1
2015-02-20 14:22:33 +0000

Ik besef dat dit een lang geleden gestelde vraag is, maar voor de goede orde. Installeer clink , dit breidt je commando prompt op zoveel manieren uit. Ja, het is zwaarder dan de bovenstaande oplossingen, maar het zorgt ervoor dat het cmd venster zich veel beter gedraagt.

0
0
0
2018-04-04 20:49:33 +0000

Ik gebruikte een betere terminal cmder ) voor dit doel. Het heeft ingebouwde aliassen en is zeer eenvoudig te gebruiken. Lees gewoon de documentatie over Aliassen hier .

0
0
0
2012-10-18 08:43:39 +0000

Windows is echt ‘All about the gui’ geworden, dus in uw geval zou ik gewoon de tools kopen die u wilt in plaats van te proberen het systeem naar uw hand te zetten … De MinGW tools zijn een uitstekende kleine collectie van enkele van de meest gebruikte gnu tools … Ik raad het ten zeerste aan als je een Nix fan bent op Win … http://www.mingw.org/wiki/MSYS