web-dev-qa-db-fra.com

Quelle est l'alternative pour ~ (répertoire de base de l'utilisateur) à l'invite de commande Windows?

J'essaie d'utiliser la commande Invite pour déplacer des fichiers, Je suis habitué au terminal Linux où j'utilise ~ pour spécifier mon répertoire personnel J'ai cherché partout mais je ne parais pas avoir trouvé Commande for it windows (Invite) (Documents and Settings\[user])

134
fenerlitk

Vous allez être déçu: %userprofile%

Vous pouvez utiliser d'autres terminaux, cependant. Powershell, que vous pouvez obtenir à partir de XP et ultérieur (et préinstallé avec Win7), vous permet d'utiliser ~ pour le répertoire de base.

204
Jay

Vous pouvez %HOMEDRIVE%%HOMEPATH% pour le lecteur + \docs settings\username ou \users\username.

31
Alex K.

Vous pouvez utiliser la variable d'environnement %systemdrive%%homepath% pour accomplir cela.

Les deux variables de commande concaténées vous donnent le chemin du répertoire de base de l'utilisateur souhaité, comme ci-dessous:

  1. Exécuter echo %systemdrive% à l'invite de commande donne:

    C:
    
  2. Exécuter echo %homepath% à l'invite de commande donne:

    \Users\<CurrentUserName>
    

Lorsqu'il est utilisé ensemble, il devient:

C:\Users\<CurrentUserName>
9
RBT

Mise à jour 19 octobre 2018.
Si quelqu'un d'autre essaye mon approche, ma réponse originale ci-dessous ne gère pas les espaces, par exemple, l'échec suivant.

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

Je pense qu'il doit y avoir un moyen de résoudre ce problème. Publierai à nouveau si je peux améliorer ma réponse.


Ma réponse originale, a encore besoin de travail ... 7 octobre 2018.
J'essayais juste de le faire aujourd'hui, et je pense l'avoir, c'est ce qui, à mon avis, fonctionne bien;

Premièrement, quelques doskey macros;

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

et puis ensuite un fichier chauve-souris dans mon chemin;

cdtilde.bat

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

Tout cela semble bien fonctionner; 

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

Je viens d'essayer set ~=%userprofile% et cela fonctionne aussi si vous voulez continuer à utiliser la même habitude

Vous pouvez ensuite utiliser %~% à la place.

2
Mark Richer

Vous pouvez faire presque la même chose vous-même. Ouvrez les variables d'environnement et cliquez sur le bouton "Nouveau" de la "Variables utilisateur pour ...".
Nom de la variable: ~
Variable Value: Cliquez sur le bouton "Browse Directory ..." et choisissez le répertoire de votre choix.

Et après cela, ouvrez cmd et tapez ceci:
cd% ~%
. Ça marche.

2
hkaraoglu

Si vous voulez une version plus courte de Jay, vous pouvez essayer 

    set usr=%userprofile%
    cd %usr%

Ou vous pouvez même utiliser% u% si vous le souhaitez. Cela évite quand même quelques frappes au clavier.

1
Scotty J

Il suffit d'écrire un script pour le faire sans trop taper tout en maintenant la portabilité car définir ~ sur %userprofile% nécessite une configuration manuelle sur chaque PC Windows lors du clonage et de la définition du répertoire dans le cadre de PATH est mécanique.

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

0
Fries