[R] Ouvrir plusieurs fichiers en même temp

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

[R] Ouvrir plusieurs fichiers en même temp

#1

Message par pierrotm777 »

Bonjour,

Je souhaiterais pouvoir sélectionner plusieurs fichiers listés dans une liste et le ouvrir en même temps que ce soit des fichiers txt ou images avec dans mon example mspaint.exe et à terme aussi avec paint.net ou photoshop .

Voici mon script actuel:
► Afficher le texte
Merci par avance de votre aide !
Modifié en dernier par pierrotm777 le lun. 14 mars 2011 16:38, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Ouvrir plusieurs fichiers en même temp

#2

Message par Tlem »

Et donc ...
Quel est votre problème ?
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Ouvrir plusieurs fichiers en même temp

#3

Message par pierrotm777 »

Et bien, choisir un fichier dont l'extension est , par exemple .jpg et l'ouvrir avec le bouton edit automatiquement avec mspaint ici .
Pour l'instant , je n'arrive pas à dire à mspaint d'éditer le fichier sélectionné. Mspaint s'ouvre mais vide !
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [..] Ouvrir plusieurs fichiers en même temp

#4

Message par sksbir »

Bonjour

1/ Il faudrait déja vérifier "à la main" que mspaint accepte bien un argument en ligne de commande. A priori oui, mais bon, c'est à vérifier.

2/ Si il y a des espaces dans le chemin de l'argument, alors il faut encapsuler l'argument dans des quotes. On peut d'ailleurs le faire de façon systématique ce qui évite de se poser la question.

run($PaintEditor&" """&@ScriptDir & "\"&$sItems & """","",@SW_MAXIMIZE)
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Ouvrir plusieurs fichiers en même temp

#5

Message par pierrotm777 »

Merci de votre aide!
Cet example fonctionne trés bien effectivement pour un seul fichier sélectionné.
Si je souhaite en sélectionner plusieurs afin de les ouvrir en même temps, il cherche un fichier du genre 'select1.jpgslect2.jpg' .
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Ouvrir plusieurs fichiers en même temp

#6

Message par zeshrek »

Je te met juste la section de code modifiée
En gros tu faisait une concaténation de la sélection qu'ensuite tu éssayais d'ouvrir, alors qu'il suffit simplement de parser la liste de la selection en ouvrant les fichiers choisis.
Bref ta boucle for/next n'était pas tout a fait au bon endroit.
J'en ai aussi priofité pour modifier la ligne qui lance le notepad pour utiliser aussi un shellexecute plutot qu'un run, histoire d'etre cohérent avec les autres lignes
Et je t'ai aussi fait tester l'extension en stringlower, parceque tu ne teste que les minuscules, or une extenson peut aussi etre mise en majuscules...

Code : Tout sélectionner

        Case $EditSelectedFile;edition du fichier choisi
            $testthis = _GUICtrlListBox_GetSelItems($AllSkinList)
            $sItems = ''
            For $iI = 1 To $testthis[0]
                $sItems = _GUICtrlListBox_GetText($AllSkinList, $testthis[$iI])
                Local $szDrive, $szDir, $szFName, $szExt
                $Ext = _PathSplit($Path & "\" & $sItems, $szDrive, $szDir, $szFName, $szExt)
                If $sItems <> '' Then
                    Switch StringLower($szExt)
                        Case ".txt"
                            ShellExecute("notepad.exe", Chr(34) & $Path & "\" & $sItems & Chr(34), $Path & "\", "edit")
                        Case ".ini", ".skin"
                            ShellExecute("notepad.exe",Chr(34) & $Path & "\" & $sItems & Chr(34) & $Path & "\" & $sItems)
                        Case ".bmp", ".gif", ".jpg", ".png"
                            ShellExecute($PaintEditor, Chr(34) & $Path & "\" & $sItems & Chr(34), $Path, "open")
                    EndSwitch
                Else
                    SplashTextOn("Info", "Choose a file please !", 200, 40, -1, -1, 32, "", 10, 800)
                    Sleep(2000)
                    SplashOff()
                EndIf
            Next
 
Si vis pacem para bellum
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Ouvrir plusieurs fichiers en même temp

#7

Message par pierrotm777 »

Entre temps , j'avais un peu travaillé et obtenu mon besoin mais que pour les fichiers images .

Merci de votre aide encore une fois !
► Afficher le texte
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Ouvrir plusieurs fichiers en même temp

#8

Message par pierrotm777 »

J'ai un problème d'association avec les fichiers texte !

J'ai donc remplacé:

Code : Tout sélectionner

ShellExecute("notepad.exe", Chr(34) & $SkinPath & "\" & $sItems & Chr(34), $SkinPath & "\", $sItems)
par:

Code : Tout sélectionner

Run("notepad.exe " & Chr(34) & $SkinPath & "\" & $sItems & Chr(34))
Je ne peux pas utiliser la molette de la souris telle que ma liste est définie!
Si j'enlève les options (bitor), je n'ai plus la possibilité du choix multiple !
J'ai pourtant regardé l'aide , mais je ne trouve pas !

Une petite remarque au sujet de mspaint. Il ne peux pas ouvrir plusieurs fichiers en même temps.
En remplaçant donc :

Code : Tout sélectionner

Dim $PaintEditor = "mspaint.exe"
par

Code : Tout sélectionner

Dim $PaintEditor = "C:\Program Files\Paint.NET\PaintDotNet.exe"
cela fonctionne parfaitement :D

Merci encore
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Ouvrir plusieurs fichiers en même temp

#9

Message par Tlem »

Concernant votre problème avec notepad, avez vous lu le deuxième chapitre de la section Remarks de la commande ShellExecute ?

Pour ce qui est de Paint, vous pouvez ouvrir plusieurs images en même temps, mais il vous faudra le lancer autant de fois que vous avez d'images. :roll:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre