web-dev-qa-db-fra.com

Quel est l'équivalent de "~" (tilde) de Linux dans Windows?

Sous Linux, nous pouvons aller à la maison de l'utilisateur en entrant le tilde (~) après cd:

cd ~

Comment faire la même chose sous Windows?

A chaque fois, je dois taper:

cd C:\Document and Settings\freewind

C'est trop ennuyeux.

68
Freewind

cd /d "%HOMEDRIVE%%HOMEPATH%" le ferait - mais je ne suis pas sûr que vous considériez cela comme une amélioration.

Vous pouvez également définir un alias pour la commande ci-dessus:

doskey cdhome=cd /d "%HOMEDRIVE%%HOMEPATH%"

Après cela, c'est simplement cdhome.

42
Jon

Vous pouvez utiliser cd /d %USERPROFILE% si vous utilisez cmd.

ou vous pouvez utiliser cd ~ si vous utilisez PowerShell.

61
Nocturn

Une possibilité consiste à utiliser la commande subst à partir d'une invite de commande:

subst z: C:\Document and Settings\freewind

Chaque fois que vous accédez au lecteur Z:, vous consultez votre dossier d’utilisateur.

L'inconvénient est que vous devez l'exécuter à chaque fois que vous vous connectez. J'ai utilisé un fichier de traitement par lots et je l'ai simplement placé dans mon dossier de démarrage, mais il existe probablement des solutions plus élégantes à cet égard.

L'avantage est que, contrairement à un alias doskey, il fonctionne de manière universelle (Explorateur Windows, boîte de dialogue de navigation, etc.), pas seulement lorsque vous modifiez des répertoires à l'aide de la commande Invite. Cela est particulièrement utile pour les anciens programmes dotés d'anciennes boîtes de dialogue de navigation comportant des lettres de lecteur au plus haut niveau, plutôt que "bureau".

12
mo.

Tu peux le faire:

cd %homepath%
6
Bali C

Vous pouvez créer un fichier de commandes appelé ~.bat contenant

@echo off
cd /d %USERPROFILE%

Et ajoutez-le à votre variable PATH (Démarrer -> [cliquez sur le bouton droit de la souris sur "Ordinateur"] -> Propriétés -> "Paramètres système avancés" [dans la colonne de gauche] -> "Variables d'environnement".

À partir de là, il suffit de modifier votre variable PATH pour inclure le dossier contenant votre fichier ~.bat. (Cela vous permet d'appeler votre script de n'importe où en utilisant uniquement le nom du fichier - pas le chemin absolu du fichier)

Assurez-vous également que votre variable d’environnement PATHEXT contient .BAT quelque part (cela vous permet de taper ~ au lieu de ~.bat).

Lorsque vous avez besoin de l'utiliser, entrez simplement ~ dans la commande Invite. Cette solution est persistante - vous n’aurez pas à la configurer à chaque fois que vous lancez un shell, ni à pirater votre base de registre.

4
weberc2

Malheureusement, je ne connais pas de solution parfaite, mais il existe quelques options de hacky:

Option 1: Définissez ~ pour être un alias de commande avec doskey

doskey ~=cd /d %USERPROFILE%

Cela vous permettra de taper simplement ~ et de l’afficher dans votre répertoire personnel.

C:\>~
C:\Users\a>

Évidemment, cela raccourcit le nombre de frappes au clavier pour rentrer chez soi (même par rapport à Linux), mais est moins robuste car vous ne pouvez pas vraiment l'utiliser dans le cadre d'un autre chemin ou en faire beaucoup plus que de simplement rentrer chez vous.

Option 2: Définissez ~ comme variable

Une autre option, si vous voulez une option plus robuste, consiste à définir une var:

set ~="%USERPROFILE%"

mais en utilisant ceci serait utilisé comme:

E:\>cd /d %~%
C:\Users\a>

Il peut également être injecté dans la plupart des chemins et ne vous limite pas à rentrer chez vous.

Les deux options simultanément

En outre, vous pouvez implémenter les deux méthodes simultanément. Si vous avez le% autour, alors il utilisera la variable - sinon, il traitera ~ comme une commande.

C:\>:: ECHO (display) THE VALUE OF %~%
C:\>echo %~%
C:\Users\a

C:\>:: ChDir to ~\DESKTOP
C:\>cd /d %~%\Desktop

C:\Users\a\Desktop>:: USE THE ~ COMMAND
C:\Users\a\Desktop>~

C:\Users\a>

Un autre conseil (un peu lié):

Cela est moins susceptible d’être acceptable sur une machine d’entreprise, du moins sur votre PC personnel, pour enregistrer des frappes supplémentaires, ce n’est pas une mauvaise idée de faire de votre %USERPROFILE% dir un nom simple. Comme vous pouvez le constater à partir des exemples ci-dessus, mon répertoire utilisateur est C:\Users\a - jadis, j’avais toujours "aplocher" ou "adamp", et quand j’ai changé en une seule lettre, c’était magique.

2
Adam Plocher

Dans Powershell, la syntaxe %variable% ne fonctionne pas. Tu peux le faire :

cd $env:USERPROFILE
1
Arno

À l'aide de PowerShell, vous pouvez utiliser la méthode suivante pour naviguer dans les répertoires où que vous soyez, à condition de connaître votre nom d'utilisateur et de disposer des autorisations nécessaires pour accéder aux répertoires de fichiers.

cd \..\Users\yourUserName\Documents
cd \..\Users\yourUserName\Downloads
cd \..\Users\yourUserName\Desktop
cd \..\Users\yourUserName\music

Voir l'exemple ci-dessous dans PowerShell (64 bits). J'ai testé cela sur une boîte Windows 7 Pro 64bit.

Linux Lilde equivalent on Windows 7 Pro 64 Bit

0
Full Array