[R] Aide pour l'écriture d'un script. (Renommant les .wav)

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Avatar du membre
MisterP
Niveau 4
Niveau 4
Messages : 86
Enregistré le : lun. 14 juil. 2014 23:47
Status : Hors ligne

[R] Aide pour l'écriture d'un script. (Renommant les .wav)

#1

Message par MisterP »

Bonjour,
Ayant découvert il y a peu AutoIt à l'aide ce magnifique tutoriel, je suis donc un vrai Rooky et me pose plusieurs questions pour l'élaboration d'un script.
http://fr.openclassrooms.com/informatiq ... vec-autoit

La réalisation de ce script est loin d'être mon problème, du fait que j'ai suivit le tutoriel ci-dessus et que j'ai appris a peu près toutes les fonctions que propose Auto It , j'ai trouvé cette liste ici :
http://www.autoitscript.fr/autoit3/docs/functions.htm

Cependant, dans mon tutoriel on ne m'a jamais parlé du fait que le script produit permet a l'utilisateur de pouvoir utiliser sa souris DURANT l’exécution du script, et c'est la tout mon problème, car si j'avais commencé à apprendre sur AutoIt c'était (presque) uniquement pour ce fait non négligeable.
J'ai donc commencé a chercher un peu partout, sur internet également, qu'il me fallait utiliser un API (Je n'en ai jamais entendu parlé dans mon tuto :( )
Je me met donc a chercher, en commençant tout d'abord par comprendre ce qu'est un API, donc sur internet j'ai trouvé que c'était une interface de programmation avec un charabia pas possible, j'ai donc téléphoné à un ami qui travaille dans l'info et celui-ci m'a dit qu'il s'agissait, en gros, d'une application dans une application ... (Alors la déjà, qu'es-ce qu'à a voir le fait de mettre une application dans une autre et le fait de pouvoir libérer sa souris et son clavier durant l’exécution du script ?? :shock: )
J'ai continué de chercher et là, je tombe cette fois-ci sur le fait qu'il me faut utiliser un dll , :shock: mais qu'es-ce que c'est que ça ??? Encore une fois, je ne trouve que du charabia ...

Me voilà donc sans résultat au bout de plusieurs heures de recherches ... Je me tourne donc à présent vers vous les pros :wink:
Sachant que mon but serait de tout simplement que mon script puisse s'exécuter sur ma page même si celle-ci est réduite et que je puisse utiliser normalement mon ordi pendant que mon script est en train de fonctionner :D (en gros un script qui s'exécute dans ma fenêtre pour avoir une image)

Du coup je n'ai pas encore écrit mon script mais j'ai déjà mis ce que je voulais faire , ce à quoi je dois faire attention etc ... sur un support papier, il ne me reste donc que l'écriture, et je ne me lance pas de peur de devoir tout refaire sur un autre support que Auto It + SciTe (Non pas que je n'aime pas la prog, bien au contraire mais juste que je n'aime pas la répétition :P , d'autant plus que je dois être dans les 1000 lignes de code grand minimum :D )
Cependant j'ai pourtant bien vu un ami (il y a 1 ou 2 ans qui utilisait un script .au3 qui s'exécutait en fond de tâche je suis donc presque persuadé que cela est possible... (j'ai malheureusement perdu contact avec celui-ci .....)

Merci d'avance de votre aide !!!
Cordialement,
Modifié en dernier par MisterP le sam. 19 juil. 2014 13:29, modifié 2 fois.
WARNING ! : THE ROOKY IS IN THE PLACE ! :P
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Aide pour l'écriture d'un futur script.

#2

Message par jguinch »

Dans la doc, regarde les fonctiosn dans Function Reference / Window Management / Controls.
Ces fonctions ne permettront certainement de faire ce que tu veux.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
overflow
Niveau 5
Niveau 5
Messages : 138
Enregistré le : sam. 05 déc. 2009 23:49
Status : Hors ligne

Re: [..] Aide pour l'écriture d'un futur script.

#3

Message par overflow »

Si tu nous disais plutot ce que doit faire ce script ? car la c'est ultra floue ....
Avatar du membre
MisterP
Niveau 4
Niveau 4
Messages : 86
Enregistré le : lun. 14 juil. 2014 23:47
Status : Hors ligne

Re: [..] Aide pour l'écriture d'un futur script.

#4

Message par MisterP »

jguinch a écrit :Dans la doc, regarde les fonctiosn dans Function Reference / Window Management / Controls.
Ces fonctions ne permettront certainement de faire ce que tu veux.
Je viens d'essayer cependant, lorsque je vais dans Function Reference , je n'ai pas de choix de filtre et ne peux donnc pas sélection Window Management puis Controls , je suis bloqué directement ici :
(Quand je regarde pour la doc en fra :)
http://www.autoitscript.fr/autoit3/docs/functions.htm
(Et en anglais, la même, ici :)
http://www.autoitscript.com/autoit3/docs/functions.htm
Ou alors il me faut peut être uniquement utiliser les fonctions Control[reste du nom de la fonction] dans la liste du 2e lien ??
overflow a écrit :Si tu nous disais plutot ce que doit faire ce script ? car la c'est ultra floue ....
Mon script est censé faire des actions dans une fenêtre, à savoir des clics, des écritures de textes, des détections/lecture de textes et autres fonctions, cependant cela ne doit pas mobiliser le clavier et la souris de l'utilisateur.
(C'est pour renommer ma bibliothèque de musique et qui mal nommée, j'ai environ 900Go morceaux .... :roll: :roll: :roll: )
Du coup j'ai envie que ma souris et mon clavier marchent pendant que mon script tag mes morceaux :P

Cordialement,
WARNING ! : THE ROOKY IS IN THE PLACE ! :P
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Aide pour l'écriture d'un futur script.

#5

Message par jguinch »

Je ne parle pas de la doc en ligne, je parle de AutoIt Help File qui est disponible dans le menu AutoIt sur ton poste (sur lequel AutoIt est installé).
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
MisterP
Niveau 4
Niveau 4
Messages : 86
Enregistré le : lun. 14 juil. 2014 23:47
Status : Hors ligne

Re: [..] Aide pour l'écriture d'un futur script.

#6

Message par MisterP »

jguinch a écrit :Je ne parle pas de la doc en ligne, je parle de AutoIt Help File qui est disponible dans le menu AutoIt sur ton poste (sur lequel AutoIt est installé).
Je n'ai pas ça, j'ai juste ceci :
http://www.autoitscript.com/site/autoit-script-editor/

J'ai téléchargé AutoIt avec SciTe en suivant le tutoriel (j'ai mis un lien dans mon premier message)
Et mon F1 ne fait absolument rien :?
Modifié en dernier par MisterP le mer. 16 juil. 2014 00:16, modifié 1 fois.
WARNING ! : THE ROOKY IS IN THE PLACE ! :P
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Aide pour l'écriture d'un futur script.

#7

Message par mikell »

C:\Program Files\AutoIt3\AutoIt.chm :wink:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Aide pour l'écriture d'un futur script.

#8

Message par jguinch »

ou C:\Program Files (x86)\AutoIt3\AutoIt.chm :mrgreen:
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
MisterP
Niveau 4
Niveau 4
Messages : 86
Enregistré le : lun. 14 juil. 2014 23:47
Status : Hors ligne

Re: [..] Aide pour l'écriture d'un futur script.

#9

Message par MisterP »

jguinch a écrit :ou C:\Program Files (x86)\AutoIt3\AutoIt.chm :mrgreen:
:wink: :wink: :wink:

J'ai trouvé ! :)
Je trouve donc une petite liste de 17 fonctions.
Merci beaucoup je ne connaissais pas ça ! Cela me sera également très utile pour les fois à venir :D

Une petite dernière question et après j'arrête de vous embêter :P
Cela signifie donc que je suis obligé d'utiliser UNIQUEMENT ces fonctions ? Ou je peux en utiliser d'autres ? (EN PRENANT EN COMPTE : Le fait que je souhaite que mon script ne s'exécute que dans ma fenêtre :wink: )

Merci d'avance, et je vous remercie déjà de votre patience :)
WARNING ! : THE ROOKY IS IN THE PLACE ! :P
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Aide pour l'écriture d'un futur script.

#10

Message par jchd »

17 fonctions ? AutoIt n'est plus ce qu'il était !

Euh, quel fichier d'installation as-tu téléchargé et d'où ?
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
MisterP
Niveau 4
Niveau 4
Messages : 86
Enregistré le : lun. 14 juil. 2014 23:47
Status : Hors ligne

Re: [..] Aide pour l'écriture d'un futur script.

#11

Message par MisterP »

jchd a écrit :17 fonctions ? AutoIt n'est plus ce qu'il était !

Euh, quel fichier d'installation as-tu téléchargé et d'où ?
Non ! Attention, j'ai trouvé 17 fonctions parmi toutes les fonctions en ayant mis le filtre :
jguinch a écrit :Dans la doc, regarde les fonctiosn dans Function Reference / Window Management / Controls.
Ces fonctions ne permettront certainement de faire ce que tu veux.
Donc après avoir été dans Windows Management + filtre Controls.

Pas 17 fonctions au total :wink:
WARNING ! : THE ROOKY IS IN THE PLACE ! :P
Avatar du membre
MisterP
Niveau 4
Niveau 4
Messages : 86
Enregistré le : lun. 14 juil. 2014 23:47
Status : Hors ligne

Re: [..] Aide pour l'écriture d'un futur script.

#12

Message par MisterP »

MisterP a écrit :Une petite dernière question et après j'arrête de vous embêter torturer :P
Cela signifie donc que je suis obligé d'utiliser UNIQUEMENT ces fonctions ? Ou je peux en utiliser d'autres ? (EN PRENANT EN COMPTE : Le fait que je souhaite que mon script ne s'exécute que dans ma fenêtre :wink: )

Merci d'avance, et je vous remercie déjà de votre patience :)
Je rappelle la question de départ, parce que si on ne voit pas la question, je n'aurai évidemment pas de réponse ^^
WARNING ! : THE ROOKY IS IN THE PLACE ! :P
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Aide pour l'écriture d'un futur script.

#13

Message par jchd »

Il nous a prévenu bille en tête : MisterP ne donne que le minimum d'informations...
Chacun ses stratégies.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
MisterP
Niveau 4
Niveau 4
Messages : 86
Enregistré le : lun. 14 juil. 2014 23:47
Status : Hors ligne

Re: [..] Aide pour l'écriture d'un futur script.

#14

Message par MisterP »

jchd a écrit :Il nous a prévenu bille en tête : MisterP ne donne que le minimum d'informations...
Chacun ses stratégies.
En fait je dirais plus que c'est que je ne sais pas quoi vous dire de plus ...
C'est un script qui aura pour but de renommer des fichiers .wave sauf que j'ai besoin que lorsqu'il tourne , avoir un libre accès a ma souris et mon clavier , enfin a mon ordi quoi ^^'
Parce que vu la quantité de morceaux que j'ai a faire, je sent que le script va tourner jour et nuit pendant pas loin d'une semaine :mrgreen:
Du coup on me répond qu'il me faut utiliser certaines fonctions et qu'elles répondront a mes attentes, mais je me demande si du coup, dans l'écriture de mon script j'ai le droit uniquement a ces fonctions ou si je peux en utiliser également d'autres qui fonctionneront de la même manière ?
Ce qui est sur c'est que j'aurai besoin de la fonction Run pour lancer la fenêtre de mon dossier, à moins que je sois obligé de mettre la fenêtre moi même puis le script fait le boulot (parce que dans ce cas précis je n'aurai le droit qu'au fonction que m'a présenté jguinch et pas aux autres telles que Run)

J'espère que vous m'avez compris :roll: :mrgreen:

J'ai essayé ces fonctions tout a l'heure, j'ai pas réussi a en faire marcher une seule :shock: :shock: :shock:
Mais bon j'étais pas concentré :oops: , donc je re regarde ce soir et vous tient au courant :)
WARNING ! : THE ROOKY IS IN THE PLACE ! :P
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Aide pour l'écriture d'un futur script.

#15

Message par jguinch »

Pas facile de t'aider sans vraiment savoir ce que tu souhaites faire...
Tu veux renommer des fichiers, bien. Quel est le rapport avec la souris et le clavier ? Aucun...
Si tu regardes un peu la doc, tu verras qu'il y a plein de fonctions qui permettent de :
- lister les fichiers d'un répertoire (_FileListToArray)
- renommer des fichiers (FileMove)
- triturer les chaînes de caractères (String....)

Juste un aperçu de ce qui peut être fait, sans faire appel à la souris ni au clavier :
► Afficher le texte
A moins que ton énoncé soit très incomplet, un code comme celui ci va te renommer les fichiers et quelques secondes ou minutes...
Pour renommer les fichiers, est-ce que tu t'es fixé une convention de nommage ?

Maintenant, précise un peu plus ta demande si ça ne correspond pas au besoin.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
MisterP
Niveau 4
Niveau 4
Messages : 86
Enregistré le : lun. 14 juil. 2014 23:47
Status : Hors ligne

Re: [..] Aide pour l'écriture d'un futur script.

#16

Message par MisterP »

Je vais essayer d'être le plus complet possible. :D
En clair, j'ai un gros fichier dans lequel j'ai pleins de fichiers de musique nommés a l'arrache, cependant, pour m'y repérer j'ai quand même mis l'infrastructure suivante :
Musique (Gros dossier) - [Nom de l'artiste](dossier) - [Nom de l'album](dossier) - [Fichiers mis en vrac](.wave)
Ensuite j'ai envie que chaque fichier .wave soit nommé de la manière suivante :
[Nom de l'Artiste] - [Nom de l'album] - [N° de la musique dans l'album] - [Nom de la chanson]
Exemple : Mariah Carey - Merry Christmas (2014) - 01 - Silent Night

Ce qui me permettra de mettre toute ma musique directement dans mon gros dossier Musique et tout sera bien trié nickel, et surtout, cela ne fera pas "foireux" dans mes lecteurs de musique.

Il faut donc que mon script, fasse pour chaque album l'action suivante :
-Je prends le nom de l'artiste ($Artiste)
-Je prends le nom de l'album ($Album)
-Je prends le nom de la musique ($NomChanson) (qui est le nom du fichier wave ! ;) )
Je renomme le fichier de la sorte : $Artiste - $Album - 01 - $NomChanson

On re-corse un peu la chose, il faut ajouter +1 à 01 pour la chanson suivante pour avoir 02 vu que c'est la chanson 02 de l'album, il faut donc, je pense que le script détecte le nombre de morceaux que l'album possède (enfin si cela marche comme je pense ^^') soit le nombre de fichiers que contient mon dossier Album.

On supprime la valeur des variable et on passe à l'album suivant.
Le tout est d'apprendre a naviguer dans les dossiers et de faire comprendre au script comment est "organisé" mon dossier musique.


Voilà voilà, le fait de vouloir ne pas utiliser la souris et le clavier de l'utilisateur, en gros ne pas gêner l'utilisateur, que le script s'exécute comme en arrière plan, limite comme si l'utilisateur ne savait pas que le script tourne, qu'il ne s'en aperçoit pas :
Du fait que la procédure va durer longtemps j'aimerai pouvoir utiliser normalement mon pc pendant que mon script fasse ce qui lui est demandé ! :D


J'aurai également plus tard un autre script qui lui sera encore plus long et à adapter car il utilisera un logiciel, le but sera de tagger mes morceaux. (leur affecter une image etc..., enfin tagger quoi ^^)


Cependant, j'aimerai bien que l'on m'explique car j'ai vraiment envie de progresser en programmation, c'est pas juste, tient j'ai besoin de faire ça donc je me met à la programmation, c'est l'inverse, j'ai envie de faire de la prog, du coup je trouve une application utile : faire des choses répétitives, mais le but premier est de comprendre ce que je fais :wink:


Merci d'avoir lu mon roman, :mrgreen:
WARNING ! : THE ROOKY IS IN THE PLACE ! :P
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Aide pour l'écriture d'un futur script.

#17

Message par orax »

MisterP a écrit :En clair, j'ai un gros fichier dans lequel j'ai pleins de fichiers de musique
j'ai un gros fichier dossier :P

C'est certes plus long mais bien plus clair.

Je ne vois pas de raison pour que le script gêne l'utilisateur (concernant le clavier ou la souris). Le renommage des fichiers/dossiers se fera en arrière plan.

Si besoin, pour récupérer des infos sur les fichiers médias, il y a Mediainfo. Voir 09. - Media sur http://www.autoitscript.com/forum/topic ... on-thread/
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Aide pour l'écriture d'un futur script.

#18

Message par blacksoul305 »

Bonsoir,

tout de suite le problème énoncé devient plus clair. De plus, jguinch a pu te donner les bonnes commandes à utiliser, soient celles qui te permettent de manier fichiers et dossiers.

La complexité ici est le fait que tu travailles avec vraisemblablement beaucoup de fichiers, ainsi l'utilisation de tableaux devient nécessaire pour aller plus vite. Voici un code que j'ai fait et qui fonctionne pour moi. Attention, il ne renomme uniquement les fichiers .wav. Je serai toi, je créerai un dossier avec des dossiers factices et des fichiers factices afin de voir si le code colle par rapport à ton problème.
► Afficher le texte
Bonne soirée et bonne continuation ! N'hésite pas si tu as des questions.

PS : ne cite pas les messages systématiquement quand tu réponds car ça encombre le forum. Utilise les citations que si nécessaire :)
Étudiant en 2ème année de Licence Informatique.
overflow
Niveau 5
Niveau 5
Messages : 138
Enregistré le : sam. 05 déc. 2009 23:49
Status : Hors ligne

Re: [..] Aide pour l'écriture d'un futur script.

#19

Message par overflow »

Même plat et recette différente ;)
Interface basic , compteur , choix du répertoire

pas de filtre sur le FileMove , tout les fichiers présents dans le répertoire sont renommer (a modifier au besoin)
► Afficher le texte
Avatar du membre
MisterP
Niveau 4
Niveau 4
Messages : 86
Enregistré le : lun. 14 juil. 2014 23:47
Status : Hors ligne

Re: [..] Aide pour l'écriture d'un futur script.

#20

Message par MisterP »

Wow :shock: :shock: :shock:
Y'a pas plus de 50 lignes !!!! Avec mon ancien petit logiciel je comptais pas loin de 1000 lignes de codes :lol:
Entre les clics droits , Ctrl pour avoir le nom de l'artiste, clic ailleurs sans renommer le dossier de l'artiste etc etc ...

D'abord je vous remercie pour vos scripts !!! :D
Mais avant des les utiliser j'aimerai vraiment comprendre, je suis vraiment la pour apprendre :wink:
Donc le code de de BlackSoul,avec en rouge mes commentaires, ce que je comprends, ce que je comprends pas , et surtout n'hésitez pas à me corriger mes erreurs :)
► Afficher le texte

De même, le code de overflow :

EDIT : J'ai changé ce que j'ai mis grâce aux connaissances que m'a apporté Soul à la page 2 !! ;)
► Afficher le texte
J'ai du loupé quelque chose par contre, parce que je n'ai pas trouvé que le code ci dessus me permettait de mettre le Numéro de la chanson dans l'album , dans le titre de la chanson ? J'ai l'impression que le compteur n'est la que pour dire à l'utilisateur combien de fichiers il a renommé une fois qu'il a fini, après j'ai surement loupé un bout ^^'



En tout cas merci beaucoup de prendre autant de temps pour moi, cela me fait vraiment plaisir !!!
Modifié en dernier par MisterP le mer. 16 juil. 2014 19:35, modifié 2 fois.
WARNING ! : THE ROOKY IS IN THE PLACE ! :P
Répondre