En utilisant ceci:
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
J'obtiens cette sortie:
"C:\\Documents and Settings\\[USER]\\Application Data"
Comment puis-je obtenir le répertoire racine de tous les utilisateurs? c'est à dire:
"C:\\Documents and Settings\\[USER]\\"
Réponses:
Ce sera peut-être une bonne solution: en prenant en compte s'il s'agit de Vista / Win7 ou XP et sans utiliser de variables d'environnement:
Bien que l'utilisation de la variable d'environnement soit beaucoup plus claire.
la source
Essayer:
Éditer:
Si la version de .NET que vous utilisez est 4 ou supérieure, vous pouvez utiliser l'
Environment.SpecialFolder
énumération:la source
Vous pouvez obtenir le chemin UserProfile avec juste ceci:
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
la source
Également très utile, lors de l'examen de l'
Environment.SpecialFolder
énumération. Utilisez LINQPad ou créez une solution et exécutez ce code:Voici le résultat sur ma machine:
("fisch" correspond aux 5 premières lettres de mon nom de famille. Il s'agit du nom d'utilisateur attribué lors de la connexion avec un compte Microsoft.)
la source
Essayer de naviguer à partir d'un SpecialFolder nommé est sujet à des problèmes. Il y a de nombreuses raisons pour lesquelles les dossiers ne seront pas là où vous les attendez - les utilisateurs peuvent les déplacer eux-mêmes, GPO peut les déplacer, redirection de dossier vers des chemins UNC, etc.
L'utilisation de la variable d'environnement pour le profil utilisateur doit refléter l'un de ces problèmes possibles.
la source
Essayer:
la source
Déconner avec des variables d'environnement ou des décalages de dossier parent codés en dur n'est jamais une bonne idée quand il y a une API pour obtenir les informations que vous voulez, appelez
SHGetSpecialFolderPath(...,CSIDL_PROFILE,...)
la source
la source
vous pouvez utiliser le code suivant:
Pour plus d'informations, voir: Obtenir le chemin du répertoire actuel dans WinXP et WinCE avec C #
la source