Une petite fonction crée pour mes besoins.
Comme la fonction Fileinstall() ne permet pas l'utilisation de 
'wildcards' ni de variable pour la source, j'ai crée ce script
qui fonctionne comme suit.
_fileinstall($source,$destination,$flag)
Par défaut, donc si vous utilisez la fonction sans paramètres _fileinstall()
$source sera égal au dossier install se trouvant dans le répertoire de votre script.
$destination sera égal au dossier temp automatiquement crée dans le répertoire de votre script. $flag  sera égal à 0 par défaut.
Symboles  
 * Peut être utilisé si vous souhaitez que $source ou $destination soit le dossier ou réside votre script.
# Si vous utilisé le symbole dièse, cela vous permettra d'entrer un chemin complet 
Le résultat de cette fonction sera dans votre presse-papier un fileinstall classique
pour chaque fichiers se trouvant dans le dossier défini par $source vers le dossier
défini par $destination.  Le résultat se trouvera dans votre presse-papier.
N.B. : Votre script, si tôt la fonction _fileinstall() exécutée, se fermera automatiquement.
Il est donc impératif de retirer la fonction _fileinstall() une fois exécutée afin que votre
script puisse fonctionner normalement. 
... N'hésitez pas à poser des questions, j'ai conscience que mon explication 
manque possiblement de détails.
► Afficher le texte
Code : Tout sélectionner
#include<file.au3>
Func _fileinstall($source = "", $destination = "", $flag = 0)
    Opt("WinTitleMatchMode",2)
    $output = ""
    ; Source
    Select
        Case $source = ""
            $source = @ScriptDir & "\install\"
        Case $source = "*"
            $source = @ScriptDir & "\"
        Case StringLeft($source, 1) = "#"
            $source = StringTrimLeft($source, 1)
            If StringRight($source, 1) <> "\" Then
                $source = $source & "\"
            EndIf
        Case Else
            $source = @ScriptDir & "\" & $source & "\"
    EndSelect
    
    ; Destination
    Select
        Case $destination = ""
            $destination = @ScriptDir & "\temp\"
            $destination_output = '@scriptdir & "\temp\'
            
        Case $destination = "*"
            $destination = @ScriptDir & "\"
            $destination_output = '@ScriptDir & "\'
            $output = "*"
        Case StringLeft($destination, 1) = "#"
            $destination = StringTrimLeft($destination, 1)
            $destination_output = '"' & $destination
            If StringRight($destination, 1) <> "\" Then
                $destination = $destination & "\"
                $destination_output = $destination_output & "\"
            EndIf
        Case Else
            $destination_output = '@ScriptDir & "\' & $destination & '\'
            $destination = @ScriptDir & $destination & "\"
            
            
    EndSelect
    
    ; Création de 1 FileInstall() pour chacun des fichiers à installer
    $files = _FileListToArray($source, "*", 1)
    
    If @error Then
        MsgBox(0, "_FileInstall() : erreur", "Aucun Fichier à installer trouvé dans le répertoire :" & @CRLF & $source)
        Exit
    EndIf
    
    If Not FileExists($destination) Then
        $dir = DirCreate($destination)
        If $dir = 0 Then
            MsgBox(0, "_FileInstall() : erreur", "Impossible de créer le dossier de destination")
            Exit
        EndIf
    EndIf
    
    If $output = "*" Then
        $output = ""
    Else
        $output = 'If Not FileExists(' & $destination_output & '") Then' & @CRLF & '     DirCreate(' & $destination_output & '")' & @CRLF & 'EndIf' & @CRLF & @CRLF
    EndIf
    For $i = 1 To $files[0]
        $output = $output & 'FileInstall("' & $source & $files[$i] & '",' & $destination_output & $files[$i] & '",' & $flag & ')' & @CRLF
    Next
    
$clip = ClipGet()
    If Not WinActive("SciTE") Then
    WinActivate("SciTE")
    WinWaitActive("SciTE")
EndIf
    Send("^f")
    WinWaitActive("Find")
    ClipPut('_FileInstall(')
    Send('^v')
    
    Send("{enter}")
    WinWaitActive("SciTE")
    Send("+{end}")
    
    ClipPut($output)
    Send("^v")
    ClipPut($clip)
    Exit
EndFunc   ;==>_fileinstall