Programme en AutoIT avec arguments sous Dos
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
-
- Status : Hors ligne
Programme en AutoIT avec arguments sous Dos
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
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
- TommyDDR
- Modérateur
- Messages : 2102
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: Programme en AutoIT avec arguments sous Dos
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
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
-
- Status : Hors ligne
Re: Programme en AutoIT avec arguments sous Dos
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à.
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à.

-
- Status : Hors ligne
Re: Programme en AutoIT avec arguments sous Dos
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
Désolé, je suis un peu énervé car on perd du temps tous

- Nine
- AutoIt MVPs (MVP)
- Messages : 136
- Enregistré le : ven. 17 avr. 2020 01:23
- Localisation : Montréal, Québec
- Status : Hors ligne
Re: Programme en AutoIT avec arguments sous Dos
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...
$CmdLine[0] donne le nombre de paramètres
$CmdLine[1] est le premier paramètre
etc...
-
- Status : Hors ligne
Re: Programme en AutoIT avec arguments sous Dos
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
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
Re: Programme en AutoIT avec arguments sous Dos
Mais pourquoi tant de haine ?
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 !

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.16.1 - AutoIt3Wrapper 21.316.1639.1
- TommyDDR
- Modérateur
- Messages : 2102
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: Programme en AutoIT avec arguments sous Dos
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é.
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
-
- Status : Hors ligne
Re: Programme en AutoIT avec arguments sous Dos
JPascal,
On est loin de la haine, exagérons pas
Bien vu et je viens de tomber dans le panneau, j'avais une page vierge non sauvegardé quand j'ai voulu faire F1
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.
On est loin de la haine, exagérons pas


Bien vu et je viens de tomber dans le panneau, j'avais une page vierge non sauvegardé quand j'ai voulu faire F1

Merci beaucoup.
-
- Status : Hors ligne
Re: Programme en AutoIT avec arguments sous Dos
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
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: Programme en AutoIT avec arguments sous Dos
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 )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- TommyDDR
- Modérateur
- Messages : 2102
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: Programme en AutoIT avec arguments sous Dos
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 :
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.
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 :
Et :Nine a écrit : $CmdLine[0] donne le nombre de paramètres
$CmdLine[1] est le premier paramètre
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.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...
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
-
- Status : Hors ligne
Re: Programme en AutoIT avec arguments sous Dos
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...
Maintenant, lors de l'inscription d'un nouveau membre, indiquez bien qu'il faut un minimum de connaissance avant de poser sa 1ere question
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.
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...
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.TommyDDR a écrit : ↑sam. 27 mars 2021 10:36 Expliquez moi la différence entre :Et :Nine a écrit : $CmdLine[0] donne le nombre de paramètres
$CmdLine[1] est le premier paramètre
etc...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, lors de l'inscription d'un nouveau membre, indiquez bien qu'il faut un minimum de connaissance avant de poser sa 1ere question

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.
-
- Status : Hors ligne
Re: Programme en AutoIT avec arguments sous Dos
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
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

Modifié en dernier par Utilisateur 6342 supprimé le sam. 27 mars 2021 19:34, modifié 1 fois.
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: Programme en AutoIT avec arguments sous Dos
Alons bon... les grands mots, tout de suite

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

" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
-
- Status : Hors ligne
Re: Programme en AutoIT avec arguments sous Dos
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 !!
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 !!

- TommyDDR
- Modérateur
- Messages : 2102
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: Programme en AutoIT avec arguments sous Dos
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 !
Oublions tout ça, vous avez votre réponse maintenant, ainsi que l'accès à l'aide qui vous sera forte utile !
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
-
- Status : Hors ligne
Re: Programme en AutoIT avec arguments sous Dos
Merci de votre compréhension en tout cas 

Re: Programme en AutoIT avec arguments sous Dos
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:
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.
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.

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[])
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])
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.

-
- Status : Hors ligne
Re: Programme en AutoIT avec arguments sous Dos
Merci rgx pour info