Programme en AutoIT avec arguments sous Dos

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
28IL
Niveau 3
Niveau 3
Messages : 48
Enregistré le : mar. 30 mai 2017 09:22
Localisation : Dreux
Status : Hors ligne

Programme en AutoIT avec arguments sous Dos

#1

Message par 28IL »

Bonjour la team,

J'aimerai coder un programme pour archiver un ou plusieurs fichiers.
Le codage ne devrait pas me poser de souci normalement. C'est juste que je comprends pas bien comment passer 4 arguments en ligne de commande.

Exemple sous Dos : Gesfic.exe AD/AS c:\temp\xxxx c:\temp\archive\.... 30

AS/AD : l'un des choix devra être pris, soit AS pour juste faire un copie sans déplacer le/les fichier(s) source(s) + horodatage ou AD pour déplacer complètement le/les fichie(s)

c:\temp\xxxx : fichie(s) source

c:\temp\archive\xxxx fichiers archivés avec horodatage généré par mon exe.

30 : temps en jours de rétention des fichiers (90 ou xx). Au prochain passage de mon exe, tous les fichiers ayant le même noms seront supprimés.

Merci pour votre aide les amis.
Bonne journée et bon week end
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2011
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: Programme en AutoIT avec arguments sous Dos

#2

Message par TommyDDR »

Vous avez l'air de vouloir faire le développement et de ce que je comprends, le seul souci est de récupérer les arguments envoyés en paramètre de l'exécutable.

Dans SciTE, écrivez "if" faites F1 dessus et sélectionner "Keyword If...Then" puis regardez l'exemple, il vous explique comment vérifier si des arguments sont envoyés.
Toujours dans l'aide, aller sur l'onglet Sommaire puis dans les rubriques : AutoIt / Using AutoIt / Running Script, il y a un chapitre : Command Line Parameters

Vous aurez d'autres information à ce sujet
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
28IL
Niveau 3
Niveau 3
Messages : 48
Enregistré le : mar. 30 mai 2017 09:22
Localisation : Dreux
Status : Hors ligne

Re: Programme en AutoIT avec arguments sous Dos

#3

Message par 28IL »

Bonsoir TommyDDR,

Merci encore, mais j'ai beau faire F1 sur if dans SciTE, il se passe rien. Idem dans l'aide. Possible que mon installation déconne mais j'suis pas un jambon à ce point.

Maintenant, sauf votre respect, si à chaque fois que je pose une simple question, vous me dites de me taper l'aide, à quoi bon avoir créé un forum d'entre-aide. Dans ce cas, tout le monde peut se débrouiller seul alors ?

Le temps que vous avez passé à me répondre (merci quand même), un simple exemple à 2 balles m'aurez aider et on en serait resté là. :shock:
28IL
Niveau 3
Niveau 3
Messages : 48
Enregistré le : mar. 30 mai 2017 09:22
Localisation : Dreux
Status : Hors ligne

Re: Programme en AutoIT avec arguments sous Dos

#4

Message par 28IL »

Personnellement, j'suis ceinture noire de Judo, quand je vois un nouveau arriver, mon premier réflexe n'est pas de lui dire : "Oh, t'as regardé des tutos sur Youtube ou sur Google pour faire des randoris ? Non ? Ben dommage, je vais te plier en 2 devant toute l'assistance". Ben je prends votre réponse hélas pour la même chose.

Désolé, je suis un peu énervé car on perd du temps tous :-(
Avatar du membre
Nine
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 67
Enregistré le : ven. 17 avr. 2020 01:23
Status : Hors ligne

Re: Programme en AutoIT avec arguments sous Dos

#5

Message par Nine »

Les réponses ne sont pas toujours exactement et entièrement dans le fichier d'aide. Puisque je connais bien la réponse à ta question et qu'elle se trouve intégralement dans le fichier d'aide, je crois que TommyDDR a fait la meilleure suggestion. Il est important d'avoir une installation adéquate sinon à chaque minuscule problème, tu vas être obligé de questionner le forum. Mais puisque la réponse est facile à produire, la voici :

$CmdLine[0] donne le nombre de paramètres
$CmdLine[1] est le premier paramètre
etc...
28IL
Niveau 3
Niveau 3
Messages : 48
Enregistré le : mar. 30 mai 2017 09:22
Localisation : Dreux
Status : Hors ligne

Re: Programme en AutoIT avec arguments sous Dos

#6

Message par 28IL »

Je peux comprendre la démarche, mais quelqu'un qui pose une question, autant lui répondre simplement que d'avoir le réflexe de dire "regarde l'aide".

Merci beaucoup d'avoir pris le temps de me répondre, pour votre aide et le simple exemple et oui, je vais corriger mon souci SciTE en effet.
L'exemple est effectivement simple...encore fallait-il le voir une 1ere fois et ce dire "mais oui, mais c'est bien sûr".

Bon week end
jpascal
Niveau 5
Niveau 5
Messages : 163
Enregistré le : jeu. 16 oct. 2008 16:21
Status : Hors ligne

Re: Programme en AutoIT avec arguments sous Dos

#7

Message par jpascal »

Mais pourquoi tant de haine ? :bisou:

L'aide de Scite fonctionne très bien... il y a juste un truc à savoir.
Pour qu'elle soit activée, il faut au préalable sauvegarder le script. ;-)

Bon développement !
AutoIt 3.3.15.1 / 3.3.15.3 - SciTE 4.2.0 - Windows 10 x64
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2011
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: Programme en AutoIT avec arguments sous Dos

#8

Message par TommyDDR »

Je vous ai quand même donné exactement la recherche à faire dans l'aide.
C'est + de travail de ma part que de vous donner la réponse toute crue.

Il n'y a pas de honte à se voir faire montrer comment fonctionne l'aide, on est tous passé par là.

Malheureusement, je préfère montrer aux personnes qui demandent de l'aide comment trouver la réponse par eux même que de leur donner, jusqu'ici personne ne s'était senti plié en 2 devant toute l'assistance, c'est comme ça que fonctionne l'aide, on indique aux utilisateurs où se trouvent les solutions.

Je note que cette façon vous déplait, je m'abstiendrai de tout commentaire sur vos postes à l'avenir, désolé que vous vous soyez senti attaqué.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
28IL
Niveau 3
Niveau 3
Messages : 48
Enregistré le : mar. 30 mai 2017 09:22
Localisation : Dreux
Status : Hors ligne

Re: Programme en AutoIT avec arguments sous Dos

#9

Message par 28IL »

JPascal,
On est loin de la haine, exagérons pas :P :)

Bien vu et je viens de tomber dans le panneau, j'avais une page vierge non sauvegardé quand j'ai voulu faire F1 :o Là ça fonctionne sur mon IF. Faut dire qu'habituellement, je passe ma vie sur les forums pour me perfectionner et je pense pas à l'aide directement car elle répond pas forcément à tous les besoins. Là visiblement oui.

Merci beaucoup.
28IL
Niveau 3
Niveau 3
Messages : 48
Enregistré le : mar. 30 mai 2017 09:22
Localisation : Dreux
Status : Hors ligne

Re: Programme en AutoIT avec arguments sous Dos

#10

Message par 28IL »

TommyDDR a écrit : ven. 26 mars 2021 19:47 Je note que cette façon vous déplait, je m'abstiendrai de tout commentaire sur vos postes à l'avenir, désolé que vous vous soyez senti attaqué.
Vous imaginez bien que si j'avais pas eu ce souci d'aide depuis SciTE, j'en aurais profité tout seul et que j'ai pas compris sur le moment pourquoi j'y accédais pas. Donc je trouvais plus sympa de poser la question.

Maintenant, dire que vous ne voulez plus m'aider ultérieurement ben que dire...On s'est pas compris !! Un débutant pourra se manger toutes les aides/docs du monde, il progressera pas. Sinon pourquoi avoir des profs en collège/lycée s'il suffisait juste de lire les manuels ?

Je donne des cours de judo occasionnellement, j'ai jamais vu un judoka progresser qu'avec des livres/aides sans jamais lui montrer un exemple.
Je pense que vous me comprenez.

Vous dites aussi, j'aime montrer aux gens comment utiliser l'aide. Mais encore faut-il trouver ce qu'on cherche. Surtout en programmation.

Moi personnellement, si j'ai à vous aider concrètement un jour, ça sera avec plaisir. J'espère que vous pourrez revenir sur votre décision à ma prochaine sollicitation sinon, tant pis, la vie est courte pour pas se faire chier avec des incompréhension...

Je vous souhaite un bon week end
Avatar du membre
mikell
Modérateur
Modérateur
Messages : 6136
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Programme en AutoIT avec arguments sous Dos

#11

Message par mikell »

28IL a écrit : ven. 26 mars 2021 20:05Vous imaginez bien que si j'avais pas eu ce souci d'aide depuis SciTE, j'en aurais profité tout seul
La doc est dans le fichier AutoIt.chm et accessible depuis Scite mais aussi sur internet. Impossible de ne pas la trouver pour peu qu'on s'en donne la peine
De plus si on tape dans Google "AutoIt arguments command line" le 2ème lien proposé donne la réponse
La réaction de Tommy est cohérente : quelqu'un qui souhaite apprendre doit faire un minimum de recherches personnelles avant de demander de l'aide. Le forum n'est pas là pour remplacer le fichier d'aide, il est là pour le compléter
" 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
TommyDDR
Modérateur
Modérateur
Messages : 2011
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: Programme en AutoIT avec arguments sous Dos

#12

Message par TommyDDR »

Vous comparez un sport physique avec de la programmation. Bien entendu que le judo demande une pratique avec des personnes physiques pour vraiment progresser. Là nous parlons de programmation où mon aide sous forme de réponse est exactement la même que celle donné par l'aide AutoIt.

Rien ne vous empêchait de me répondre "Merci pour votre réponse, mais quand je fais F1, rien ne se passe" nous vous aurions alors indiqué la marche à suivre pour y accéder.

Expliquez moi la différence entre :
Nine a écrit : $CmdLine[0] donne le nombre de paramètres
$CmdLine[1] est le premier paramètre
etc...
Et :
Aide AutoIt a écrit : $CmdLine[0] ; Contains the total number of items in the array.
$CmdLine[1] ; The first parameter.
$CmdLine[2] ; The second parameter.
etc...
La seule différence est la traduction en français. Je veux bien que vous fassiez les analogies au judo, mais il faudrait qu'elles soient justifiées.

Donc si pour vous l'aide du fichier d'aide est à ce point différente d'une aide d'un être humain, à l'avenir vous risquez d'avoir beaucoup de problèmes en programmation.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
28IL
Niveau 3
Niveau 3
Messages : 48
Enregistré le : mar. 30 mai 2017 09:22
Localisation : Dreux
Status : Hors ligne

Re: Programme en AutoIT avec arguments sous Dos

#13

Message par 28IL »

Bonjour,

Bon on va faire simple, je vais faire comme je fais de temps en temps quand on se comprend plus/pas : vous avez raison :?

Aucun amalgame à mon sens entre la pratique d'un sport ou de la programmation, faut juste accepter que les gens débutent et soient perdues mais bon rien de grave à se faire rappeler à l'ordre. On peut lire toutes les aides possibles, si on connait pas, on trouve pas...

Ok je suis fatigué mais où j'ai dit qu'il y avait une différence ? J'ai beau me relire, je trouve pas...
TommyDDR a écrit : sam. 27 mars 2021 10:36 Expliquez moi la différence entre :
Nine a écrit : $CmdLine[0] donne le nombre de paramètres
$CmdLine[1] est le premier paramètre
etc...
Et :
Aide AutoIt a écrit : $CmdLine[0] ; Contains the total number of items in the array.
$CmdLine[1] ; The first parameter.
$CmdLine[2] ; The second parameter.
etc...
Maintenant, je pense pas débuter complètement puisque j'ai réussi à pondre quelques bouts de code quasi seul et aussi avec l'aide précieuse de quelques membres de ce forum. Encore aurait-il fallu qu'on regarde mes quelques posts avant de me juger (débutant mais pas tant que cela) et vous auriez vu que toutes mes questions étaient pas si débiles mais aucun souci, c'est de ma faute.

Maintenant, lors de l'inscription d'un nouveau membre, indiquez bien qu'il faut un minimum de connaissance avant de poser sa 1ere question :wink:

Pour conclure car on sort du cadre de ma demande initiale, j'en veux à personne finalement et autant vous dire que je risque d'en poser d'autres. A votre libre arbitre de me supprimer de votre site...

Bon week end à toutes et tous.
28IL
Niveau 3
Niveau 3
Messages : 48
Enregistré le : mar. 30 mai 2017 09:22
Localisation : Dreux
Status : Hors ligne

Re: Programme en AutoIT avec arguments sous Dos

#14

Message par 28IL »

Cher mikell,

On a déjà conversé ensemble sur d'autres de mes posts comme celui-ci et tout se passait bien :

[url]viewtopic.php?f=3&t=15536&p=106129#p106129[/url

Vous aviez déjà l'impression que je débutais à ce point et que ma question n'avait pas de sens ? Pourquoi autant d'intransigeance d'un coup ? :?

Facile de dire que si on veut trouver, on peut...Je pose 4 ou 5 questions par an et pan :oops:
Modifié en dernier par 28IL le sam. 27 mars 2021 19:34, modifié 1 fois.
Avatar du membre
mikell
Modérateur
Modérateur
Messages : 6136
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Programme en AutoIT avec arguments sous Dos

#15

Message par mikell »

28IL a écrit : sam. 27 mars 2021 16:21 Pourquoi autant d'intransigeance d'un coup ?
Alons bon... les grands mots, tout de suite :mrgreen:
Rien de particulièrement personnel, mais il est parfois bon de rappeler certaines choses élémentaires qui peuvent hélas être négligées avec le temps - surtout sachant que les sujets sont lus par plusieurs utilisateurs
De plus les membres du staff répondent aux questions un poil plus souvent que 4 fois par an, et malgré leur bénévolat leur temps est (peut-être) aussi précieux que celui des autres... notion fort subjective toutefois, je l'admets volontiers :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 )
28IL
Niveau 3
Niveau 3
Messages : 48
Enregistré le : mar. 30 mai 2017 09:22
Localisation : Dreux
Status : Hors ligne

Re: Programme en AutoIT avec arguments sous Dos

#16

Message par 28IL »

Oui oui certes, certaines bases peuvent s'altérer avec le temps et j'avoue que j'ai été un peu trop vite agacé hier car je suis humain donc perfectible après une journée de m.... et je m'en excuse platement.

Parfois on trouve des choses compliquées seuls parce que l'esprit est à 200% et là, j'étais noyé dans mes projets et que j'ai pas trouvé ce que je voulais. Hélas hier, j'étais en train de me noyer et que j'ai eu l'impression qu'on essayait plutôt de me garder la tête sous l'eau plutôt que m'aider.

J'espère que vous accepterai mes excuses en sachant que malgré mes quelques posts ici, vous avez pu voir que je débutais pas mais que j'étais perfectible aussi sur des basiques...Faut apprendre à se connaitre mutuellement !! :wink:
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2011
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: Programme en AutoIT avec arguments sous Dos

#17

Message par TommyDDR »

Encore une fois mon premier message (que vous pouvez relire) était là simplement pour vous montrer où trouver la réponse dans l'aide, il n'y avait aucune attaque (même si vous l'avez ressenti comme tel).

Oublions tout ça, vous avez votre réponse maintenant, ainsi que l'accès à l'aide qui vous sera forte utile !
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
28IL
Niveau 3
Niveau 3
Messages : 48
Enregistré le : mar. 30 mai 2017 09:22
Localisation : Dreux
Status : Hors ligne

Re: Programme en AutoIT avec arguments sous Dos

#18

Message par 28IL »

Merci de votre compréhension en tout cas :wink:
rgx
Niveau 4
Niveau 4
Messages : 55
Enregistré le : sam. 16 nov. 2019 17:53
Status : Hors ligne

Re: Programme en AutoIT avec arguments sous Dos

#19

Message par rgx »

Bonjour,

Pour la culture générale (à l'attention des quelques éventuels débutants)
Tous les langages de programmation ont un système de récupération des arguments de la ligne de commande.
Déjà en langage C sur lequel s’appuient la plupart des autres langages, la procédure principale est souvent comme ceci:

Code : Tout sélectionner

int main(int argc, char *argv[])
On a comme premier paramètre le nombre d'arguments et en second un tableau qui contient chaque valeur (séparateur espace)

Dans mon autre langage de prédilection (PureBasic), même système: le nombre d'arguments et un tableau.

Code : Tout sélectionner

CountProgramParameters()
ProgramParameter([Index])
Attention: Selon les langages, l'argument 0 est soit le premier paramètre, soit le programme lancé, soit la ligne entière. Donc lire la doc à chaque fois.
Si un paramètre contient des espaces (ex: "C:\Program File" on met des guillemets et ceux-ci sont traités automatiquement)
Tous les IDE ou éditeurs ont aussi une option pour passer des paramètres sans avoir besoin de quitter (SciTE: View > Parameters)

Enfin, phénomène intéressant, quand on fait une icône de programme sur le bureau, les paramètres se remplissent avec les événtuels noms de fichiers qu'on 'drop' sur l'icône.

:wink:
28IL
Niveau 3
Niveau 3
Messages : 48
Enregistré le : mar. 30 mai 2017 09:22
Localisation : Dreux
Status : Hors ligne

Re: Programme en AutoIT avec arguments sous Dos

#20

Message par 28IL »

Merci rgx pour info
Répondre