0
votes

Lorsque le code papier est un fichier de fil de fil, comment devez-je expliquer différents profils utilisateur?

Lorsque vous obtenez un code-filage, comment devez-je rendre compte des différents profils utilisateur? Par exemple, ci-dessous, j'utilise l'utilisateur de répertoire.creatrederectory pour créer une série de dossiers / sous-dossiers, l'utilisateur procédera à déplacer des fichiers à: xxx

Cependant, "nom d'utilisateur" sera une variable selon à l'utilisateur utilisant l'outil.


2 commentaires

Voir le Environnement.Specialfolder Enumerator. Le dossier Téléchargements SPÉCIAL n'est cependant pas parmi ceux-ci. Si vous avez besoin spécifiquement de ce chemin de répertoire, vous pourrait lire le chemin fourni par environnement.Specialfolder.userprofile quelque chose comme ça . Ou le lire dans le registre (voir les autres réponses).


Je suppose qu'il veut un nouveau dossier dans environnement.specialfolder.mydocuments ; Téléchargements est un endroit assez particulier pour mettre des dossiers "L'utilisateur procédera à déplacer des fichiers à".


3 Réponses :


0
votes

Au lieu de la codage rigide, vous pouvez le construire de manière dynamique avec getenvironmentvariable () . Vous devriez concaténer la valeur HomeDrive et le homepath , puis ajoutez des sous-dossiers après cela.

environnement.getenvironmentvariable ("HomeDrive") + Environnement.getenvironmentVariable ("HomePath")

https: // docs .microsoft.com / fr-US / dotnet / API / System.Environment.getenvironmentVariable? Vue = NetFramework-4.8


0 commentaires

2
votes

Une chose importante à comprendre est que les utilisateurs peuvent et faire forts> rediriger leur dossier de téléchargement dans des endroits étranges. Ce n'est pas une bonne idée de supposer c: \ utilisateurs \ nom d'utilisateur \ téléchargements code> est correct. Sur mon propre système, par exemple, j'ai un SSD petit et un disque dur traditionnel beaucoup plus grand. Je préfère mes téléchargements pour finir sur le disque dur, bien loin du reste de mon profil.

La plupart de ces dossiers peuvent être facilement utilisés avec Environnement.GetFolderDePath () Code> Méthode. Par exemple, le dossier de documents est ici: p> xxx pré>

malheureusement, il n'y a pas Specialfolder code> Enum Valeur pour le dossier code> code>. Nous devons travailler un peu plus fort. Je préfère ce Solution de code de code : p> xxx pré>

Ce n'est vraiment pas que beaucoup em> code, et ça fait la de droite forte>. P>

Coller les nouvelles méthodes de votre classe existante, ajoutez un système importateurs.Runtime.Interopservices code> en haut du fichier et vous pouvez mettre à jour le code dans la question comme ceci: P>

Private Sub btnCreateFolders_Click(sender As Object, e As EventArgs) Handles btnCreateFolders.Click
    Dim SubTest As String = Path.Combine(GetDownloadsFolder(), "TEST\SUB TEST")
    Directory.CreateDirectory(SubTest)
End Sub


0 commentaires

0
votes

Merci tout ce qui a répondu et commenté - J'ai rapidement abandonné l'idée d'utiliser le dossier de téléchargements sous-factigeant la difficulté accrue. Pour l'instant, j'identifie simplement le bureau de l'utilisateur, mais entre tout partagé, je suis arrivé à (dossiers 1, etc., comme des espaces réservés temporaires de Temps pour l'instant): xxx

https://docs.microsoft.com/en-us/dotnet/api /system.environment.Specialfolder?View=netFramework-4.8

https://docs.microsoft.com/en-us/dotnet/api/system.io.path.combine?view=netframework-4.8


2 commentaires

Vous n'avez pas besoin d'échapper aux backslashes - c'est une chose C #. C'est-à-dire, utilisez \, pas \\.


Utilisez chemin path.combine (dir, "dossier 1", "dossier 2", "dossier 3", "dossier 4") . Le but entier de path.combine est de supprimer l'échappement ou les dépendances sur les séparateurs de chemins.