Page 1 sur 1

FileCopy dans un dossier qui change de nom

Posté : dim. 24 juil. 2022 12:45
par GuillaumeN
Bonjour à tous,
Je suis débutant, j'essaye de créer un script qui copie 2 fichiers dans un dossier de Firefox (%APPDATA%\Mozilla\Firefox\Profiles\DOSSIER). Le problème c'est que ce DOSSIER n'a pas tout le temps le même nom suivant la machine. (ex: geudzg.defaut ou ytrrzedze.defaut)
Mon script ressemble à ça:

Code : Tout sélectionner

FileCopy(@ScriptDir & "\profile\places.sqlite", @AppDataDir& "\Mozilla\Firefox\Profiles\*.defaut",$FC_OVERWRITE)
FileCopy(@ScriptDir & "\profile\prefs.js", @AppDataDir& "\Mozilla\Firefox\Profiles\*.defaut",$FC_OVERWRITE)
Je ne sais pas comment demander à mon script de copier mes fichiers dans ce dossier quelque soit son nom, quitte à copier les fichiers dans tous les sous-dossiers du dossier "Profiles" ça serait l'idéal même!

Merci d'avance à tous les codeurs qui pourraient me venir en aide

Re: FileCopy dans un dossier qui change de nom

Posté : dim. 24 juil. 2022 15:56
par rgx
Bonjour,

Il suffit de lire les sections du fichier profiles.ini au niveau précédent
%APPDATA%\Mozilla\Firefox\profiles.ini
Sinon, lister les répertoires par ordre de modification: le profile actif est le plus récent
%APPDATA%\Mozilla\Firefox\Profiles\

D'autres infos: https://support.mozilla.org/fr/kb/profi ... tilisateur

:wink:

Re: FileCopy dans un dossier qui change de nom

Posté : lun. 25 juil. 2022 11:52
par mikell
Il faut récupérer le nom de ce dossier
Voilà 2 méthodes, selon que tu veux obtenir juste le nom du profil, ou ceux de tous les sous-dossiers du dossier "Profiles"
Attention, "defaut" en anglais s'écrit "default" :mrgreen:

$Dir = @AppDataDir & "\Mozilla\Firefox\Profiles\"
$hSearch = FileFindFirstFile($Dir & "*.default")
$sFileName = FileFindNextFile($hSearch)

Msgbox(0,"", $Dir & $sFileName)

;------------------

#include <File.au3>
#Include <Array.au3>

$a = _FileListToArray(@AppDataDir & "\Mozilla\Firefox\Profiles", "*", $FLTA_FOLDERS, True)
_ArrayDisplay($a)

$sFileName = $a[1]
Msgbox(0,"", $sFileName)