web-dev-qa-db-fra.com

Lot pour ouvrir un dossier dans le dossier d'un utilisateur (c: \ utilisateurs \ nom d'utilisateurici \ mes documents)?

Mais je cherche un code qui permettra à tout utilisateur qui utilise mon fichier batch d'accéder à ses documents. L'idée est qu'ils taperaient 3, appuyez sur Entrée, puis le programme ouvrirait leur dossier "Mes documents".

Malheureusement, chaque utilisateur a un nom différent, donc la commande suivante ne fonctionnera que si elle a un nom spécifique après.

%SystemRoot%\Explorer.exe c:\users\James\My Documents

Y a-t-il une sorte de remplacement pour le "James"? Une commande universelle?

22
The Fluffy Robot

Vous pouvez utiliser le %UserProfile% variable d'environnement, qui pointe directement vers le dossier personnel de l'utilisateur connecté:

%SystemRoot%\Explorer.exe %UserProfile%\My Documents

-Si vous utilisez Windows 7, faites simplement Explorer% UserProfile%\Documents (devrait fonctionner avec d'autres Windows mais je n'ai pas essayé ...)

c'est parce que n'importe quel exe dans la racine du système peut être utilisé comme une commande et à ma connaissance la plupart des versions de Windows ont un dossier appelé "Documents" et non "Mes documents" il apparaît juste de cette façon à l'utilisateur (idem pour la musique, etc.)

35
Oldskool