Autore Topic: Sezione Autoit, Discussioni e scambio di idee...  (Letto 68484 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline DMD

  • Eng2ita Friends
  • **
  • Post: 475
  • Karma: 45
Re: Sezione Autoit, Discussioni e scambio di idee...
« Risposta #30 il: 25/05/2009, 15:29 »
D'accordo sull'eleganza o meno, io mi sono registrato e ho scaricato normalmente (non vedo che problema c'è).

Comunque, al di là di tutto, dando un'occhiata mi sembra alquanto ostico, per chi non mastica programmazione come me.

Per cui chiedo gentilmente (sempre se è posibile)  se qualche anima pia  ::) potrebbe "decifrare" la guida in modo da renderla "adatta" per automatizzare l'installazione dei software.


Un saluto

ENG2ITA Community

Re: Sezione Autoit, Discussioni e scambio di idee...
« Risposta #30 il: 25/05/2009, 15:29 »

Offline fireblad02

  • Eng2ita Friends
  • **
  • Post: 163
  • Karma: 100
Re: Sezione Autoit, Discussioni e scambio di idee...
« Risposta #31 il: 10/06/2009, 13:18 »
........

Edit: risolto, scusate il disturbo
« Ultima modifica: 10/06/2009, 15:58 da fireblad02 »
L'help fornisce informazioni su tutto, tranne che su quello che ti serve.

Offline japper

  • Newbie
  • *
  • Post: 1
  • Karma: 0
Re: Sezione Autoit, Discussioni e scambio di idee...
« Risposta #32 il: 22/12/2009, 21:05 »
Ciao a tutti , nn ho letto tutto perchè c'è troppo da leggere xD...
Cmq nn so risolvere un problemino...
Dovrei COpiare un file in un ciclo , il problema che me copia lo stesso file sovrascvriendo il vecchio e quindi alla fine nn mi fa 100 copie o 10 copie come voglio io ,me ne fa solamente una...
Citazione
$i=0
$n=int(Random(50,100))
while $i<$n
filecopy("C:\Users\japper\desktop\USB\xxxxx.exe","C:\Users\japper\desktop\USB\USB1\",1)
$i+=1
WEnd

Offline BAT

  • Moderatore cattivo
  • Eng2ita Staff
  • ***
  • Post: 1.564
  • Karma: 151
  • La conoscenza è potere. La conoscenza rende liberi
    • La conoscenza è potere. La conoscenza rende liberi
Re: Sezione Autoit, Discussioni e scambio di idee...
« Risposta #33 il: 24/12/2009, 19:21 »
Ti premetto che non conosco AutoIt però ho letto il tuo codice e lo
interpreto come "copia n volte il file xxxxx.exe chiamandolo
xxxxx1.exe, xxxxx2.exe" ... e così via.

Secondo me c'è un errore di impostazione nel ciclo while: non vedo
nel comando di copia il nome del file destinazione indicato come parametro,
dovresti metterlo;

oppure dovresti verificare l'esistenza di una variante a 3 parametri del comando di copia, del tipo
filecopy(directory&FileSsorgente, directory-destinazione, nomeFileCopiato)

In ogni caso il contatore i, deve essere concatenato al nome del file
destinazione prima del suffisso ".exe", ossia devi passare come parametro
"nomeFileCopiato"+i+".exe"
dove con il + indico la concatenazione di stringhe di caratteri.

Un'altra alternativa è copiare il file destinazione con lo stesso nome del sorgente
ed aggiungere un'istruzione all'interno del while con un comando, se esiste, di ridenominazione

while $i<$n
filecopy("C:\Users\japper\desktop\USB\xxxxx.exe","C:\Users\japper\desktop\USB\USB1\",1)
comando-di-ridenominazione
$i+=1
« Ultima modifica: 17/01/2010, 14:57 da BAT »
Blog: https://zerozerocent.blogspot.com
Legge di Murphy: SE QUALCOSA PUO' ANDAR MALE CI ANDRA'
Versione quantistica della legge di Murphy: TUTTO VA MALE CONTEMPORANEAMENTE

Offline oldman

  • Newbie
  • *
  • Post: 30
  • Karma: 3
Re: Sezione Autoit, Discussioni e scambio di idee...
« Risposta #34 il: 05/02/2010, 09:35 »
@ japper
Ammesso che ciò di cui hai bisogno corrisponda a quanto interpretato da BAT nel post quì sopra
Il codice da usare è il seguente:
Codice: [Seleziona]
#Include <File.au3>

$FILE = "test.txt" ; nome del file da copiare
$SRCDIR = "G:\CODING\Test\" ; cartella sorgente
$TGTDIR = "G:\CODING\Test\Test1\" ; cartella di destinazione
$FNAME = StringTrimRight($FILE, 4) ; nome del file (Test)
$FEXTN = StringRight($FILE, 4) ; estensione del file (.txt)

; Se non esiste crea la cartella di destinazione e vi inserisce 10 copie del file da test1.txt a test10.txt
For $i = 1 to 10
FileCopy($SRCDIR&$FILE, $TGTDIR&$FNAME&$i&$FEXTN, 8)
Next
Exit

Ciao
« Ultima modifica: 05/02/2010, 09:38 da oldman »

Offline Mr.X

  • Eng2ita Staff
  • ***
  • Post: 547
  • Karma: 77
Re: Sezione Autoit, Discussioni e scambio di idee...
« Risposta #35 il: 06/02/2010, 13:45 »
@oldman
Bravo! Non è ben chiaro perchè hai messo
Codice: [Seleziona]
#Include <File.au3> nella prima riga.
Il tutto si potrebbe sintetizzare così:
Codice: [Seleziona]
For $i = 1 to 10
$file="file"&$i&".txt"
FileCopy("C:\file.txt", "D:\backup\"&$file, 9)
Next
Tutto ciò se il file sorgente è 'file.txt' e si trova in C:\ altrimenti scriviamo il percorso corretto nella riga FileCopy
Il codice crea una cartella in D:\  denominata backup e sovrascrive i file eventualmente già presenti (vedi il flag 9 =8+1 nella riga FileCopy che significa: crea la directory se non esiste e sovrascrivi i file).

Offline oldman

  • Newbie
  • *
  • Post: 30
  • Karma: 3
Re: Sezione Autoit, Discussioni e scambio di idee...
« Risposta #36 il: 06/02/2010, 18:25 »
@MISTER X
Codice: [Seleziona]
#Include <File.au3>l'ho messo xchè se compili il .au3 in .exe devi includere la relativa libreria di funzioni di AutoIt.
mentre le 5 variabili le ho messe in modo da avere la possibilità di usare le funzioni "FileFindFirstFile()" e "FileFindFirstFile()" nel caso volesse ripetere l'operazione x tutti i files contenuti nella cartella sorgente.
La struttura così impostata consente inoltre di ricavare una funzione dedicata allo scopo.
Ciao

« Ultima modifica: 06/02/2010, 18:32 da oldman »

Offline Mr.X

  • Eng2ita Staff
  • ***
  • Post: 547
  • Karma: 77
Re: Sezione Autoit, Discussioni e scambio di idee...
« Risposta #37 il: 06/02/2010, 20:03 »
Cio che ti dico vuole essere solo una critica costruttiva...siamo qui per imparare e/o insegnare; ma proprio questa affermazione non la butto giù:
Citazione
l'ho messo xchè se compili il .au3 in .exe devi includere la relativa libreria di funzioni di AutoIt.
Se compilo in exe il tuo codice senza
Codice: [Seleziona]
#Include <File.au3> questo funziona comunque.
La guida dice:
Citazione
Per usare una funzione usa semplicemente #include <include.au3> all'inizio del tuo script file.
Se ad esempio uso la funzione _ColorGetGreen dovrò scrivere #include <Color.au3>; se ho bisogno della funzione _FileCreate scriverò #include <File.au3> , se ho bisogno della funzione _RunDOS scriverò #include <Process.au3>
Nel tuo script non compare neppure una funzione utente pre-scritta che mi giustifichi la presenza di #Include <File.au3>
Anche
Codice: [Seleziona]
Exit all'ultima riga è superfluo.
Comunque il tuo codice funziona... non ti preoccupare: sono un po' pignolo  :devil01:

Offline DMD

  • Eng2ita Friends
  • **
  • Post: 475
  • Karma: 45
Re: Sezione Autoit, Discussioni e scambio di idee...
« Risposta #38 il: 06/02/2010, 22:42 »
Chiedo se c'è qualche link dove poter approfondire il MacroGenerator.

Grazie

Offline Mr.X

  • Eng2ita Staff
  • ***
  • Post: 547
  • Karma: 77
Re: Sezione Autoit, Discussioni e scambio di idee...
« Risposta #39 il: 07/02/2010, 11:38 »
Questo è AutoitMacrogenerator: http://www.megaupload.com/?d=FTBDZEI7 dentro c'è il file chm della guida, ma probabilmente (forse non ti dico nulla di nuovo) è troppo sintetica.
Questo è il link ufficiale: http://www.voss2000.de.vu/ , la registrazione è d'obbligo per accedere al forum.
Personalmente non l'ho mai usato.. vado a manina e delle volte mi aiuto con Autoit Window info.

Offline DMD

  • Eng2ita Friends
  • **
  • Post: 475
  • Karma: 45
Re: Sezione Autoit, Discussioni e scambio di idee...
« Risposta #40 il: 07/02/2010, 20:11 »
Ci ho riprovato un'altra volta, ma secondo me è dura.

Allora ho provato con il Macrogenerator ad installare PDFCreator

Ho ottenuto lo script che ho salvato nella stessa directory del programma, poi ho provato a lanciarlo  senza successo, epppure la sequenza dei vari click del mouse mi pare sia memorizzata correttamente.

Codice: [Seleziona]
;--- AutoIt Macro Generator V 0.21 beta ---
Opt("WinTitleMatchMode", 4)
WinWait("PDFCreator_0.9.9","")
ControlClick("PDFCreator_0.9.9","","DirectUIHWND3")
ControlClick("PDFCreator_0.9.9","","DirectUIHWND3")
WinWait("Selezionare la lingua dell'installazione","Selezionare la lingua da utili")
ControlClick("Selezionare la lingua dell'installazione","Selezionare la lingua da utili","TNewButton1")
WinWait("Installazione di PDFCreator","PDFCreator 0.9.9 sarà installa")
ControlClick("Installazione di PDFCreator","PDFCreator 0.9.9 sarà installa","TNewButton1")
WinWait("Installazione di PDFCreator","Leggere con attenzione le info")
ControlClick("Installazione di PDFCreator","Leggere con attenzione le info","TNewRadioButton1")
ControlClick("Installazione di PDFCreator","Leggere con attenzione le info","TNewButton2")
WinWait("Installazione di PDFCreator","Selezionare la modalità di ins")
ControlClick("Installazione di PDFCreator","Selezionare la modalità di ins","TNewButton2")
WinWait("Installazione di PDFCreator","Scegliere un nome per la stamp")
ControlClick("Installazione di PDFCreator","Scegliere un nome per la stamp","TNewButton2")
WinWait("Installazione di PDFCreator","Dove si vuole installare PDFCr")
ControlClick("Installazione di PDFCreator","Dove si vuole installare PDFCr","TNewButton3")
WinWait("Installazione di PDFCreator","Quali componenti devono essere")
ControlClick("Installazione di PDFCreator","Quali componenti devono essere","TNewButton3")
WinWait("Installazione di PDFCreator","Dove si vuole inserire i colle")
ControlClick("Installazione di PDFCreator","Dove si vuole inserire i colle","TNewButton4")
WinWait("Installazione di PDFCreator","Quali processi aggiuntivi si v")
ControlClick("Installazione di PDFCreator","Quali processi aggiuntivi si v","TNewButton4")
WinWait("Installazione di PDFCreator","Il programma di installazione ")
ControlClick("Installazione di PDFCreator","Il programma di installazione ","TNewButton4")
WinWait("Installazione di PDFCreator","L'installazione di PDFCreator ")
ControlClick("Installazione di PDFCreator","L'installazione di PDFCreator ","TNewButton4")

;--- End ---

Offline Mr.X

  • Eng2ita Staff
  • ***
  • Post: 547
  • Karma: 77
Re: Sezione Autoit, Discussioni e scambio di idee...
« Risposta #41 il: 07/02/2010, 22:03 »
Così dovrebbe andare:
Codice: [Seleziona]
Opt("WinTitleMatchMode", 4)
Run(@ScriptDir & "\PDFCreator-0_9_9_setup.exe")
WinWaitActive("Selezionare la lingua dell'installazione","Selezionare la lingua da utili")
ControlClick("Selezionare la lingua dell'installazione","Selezionare la lingua da utili","TNewButton1")
WinWaitActive("Installazione di PDFCreator","PDFCreator 0.9.9 sarà installa")
ControlClick("Installazione di PDFCreator","PDFCreator 0.9.9 sarà installa","TNewButton1")
WinWaitActive("Installazione di PDFCreator","Leggere con attenzione le info")
ControlClick("Installazione di PDFCreator","Leggere con attenzione le info","TNewRadioButton1")
ControlClick("Installazione di PDFCreator","Leggere con attenzione le info","TNewButton2")
WinWaitActive("Installazione di PDFCreator","Selezionare la modalità di ins")
ControlClick("Installazione di PDFCreator","Selezionare la modalità di ins","TNewButton2")
WinWaitActive("Installazione di PDFCreator","Scegliere un nome per la stamp")
ControlClick("Installazione di PDFCreator","Scegliere un nome per la stamp","TNewButton2")
WinWaitActive("Installazione di PDFCreator","Dove si vuole installare PDFCr")
ControlClick("Installazione di PDFCreator","Dove si vuole installare PDFCr","TNewButton3")
If WinWaitActive("Installazione di PDFCreator","Installa l'Add On di PDFCreato",2) Then
ControlClick("Installazione di PDFCreator","Installa l'Add On di PDFCreato","TCheckBox1")
sleep(200)
ControlClick("Installazione di PDFCreator","Installa l'Add On di PDFCreato","TNewButton3")
EndIf
WinWaitActive("Installazione di PDFCreator","Quali componenti devono essere")
ControlClick("Installazione di PDFCreator","Quali componenti devono essere","TNewButton3")
WinWaitActive("Installazione di PDFCreator","Dove si vuole inserire i colle")
ControlClick("Installazione di PDFCreator","Dove si vuole inserire i colle","TNewButton4")
WinWaitActive("Installazione di PDFCreator","Quali processi aggiuntivi si v")
ControlClick("Installazione di PDFCreator","Quali processi aggiuntivi si v","TNewButton4")
WinWaitActive("Installazione di PDFCreator","Il programma di installazione ")
ControlClick("Installazione di PDFCreator","Il programma di installazione ","TNewButton4")
WinWaitActive("Installazione di PDFCreator","L'installazione di PDFCreator ")
ControlClick("Installazione di PDFCreator","L'installazione di PDFCreator ","TNewButton4")
Diciamo che il tuo andava corretto un po' ma nemmeno troppo.
Però il Macrogenerator deve servire a risparmiare tempo al limite, successivamente è doveroso ricontrollare i passaggi a mano.
Come puoi ben notare ho aggiunto
Codice: [Seleziona]
Run(@ScriptDir & "\PDFCreator-0_9_9_setup.exe") ...eehhh... se non mi fai partire l'installer come si fa?
Poi ho cambiato tutti i Winwait con WinWaitActive : ovvero nel primo caso lo script aspetta che la finestra esista... nel secondo caso aspetta che sia attiva... mi sembra più preciso così.
Poi ho aggiunto nel ciclo If EndIf un passaggio che a te mancava... è per questo che l'ho messo in If (in particolare sbuca la finestra che chiede di mettere di default il motore di ricerca Yahoo da cui ho puntualmente tolto il segno di spunta)
Per il resto il tuo script era ok  ;)

Offline DMD

  • Eng2ita Friends
  • **
  • Post: 475
  • Karma: 45
Re: Sezione Autoit, Discussioni e scambio di idee...
« Risposta #42 il: 08/02/2010, 10:28 »
Non so come ringraziarti per questa tua soluzione :worthy:

Io non conoscendo minimamente il linguaggio non ci sarei mai arrivato, spero solo di poter "adattare" i passaggi che hai corretto per altri script generati affinchè si aviino regolarmente.

L'unica cosa che riguarda questo programma specifico è che fa installare, una specie di pdf toolbar e se lo installo off-line mi da questo messaggio d'errore, che poi basta solo annullare.



Però penso che questo sia un problema che riguarda solo il software in questione.


Comunque grazie per l'aiuto, anche se vedo ho molto da imparare.

Offline Mr.X

  • Eng2ita Staff
  • ***
  • Post: 547
  • Karma: 77
Re: Sezione Autoit, Discussioni e scambio di idee...
« Risposta #43 il: 08/02/2010, 21:51 »
In tal caso facciamo così:
Codice: [Seleziona]
Opt("WinTitleMatchMode", 4)
Run(@ScriptDir & "\PDFCreator-0_9_9_setup.exe")
WinWaitActive("Selezionare la lingua dell'installazione","Selezionare la lingua da utili")
ControlClick("Selezionare la lingua dell'installazione","Selezionare la lingua da utili","TNewButton1")
WinWaitActive("Installazione di PDFCreator","PDFCreator 0.9.9 sarà installa")
ControlClick("Installazione di PDFCreator","PDFCreator 0.9.9 sarà installa","TNewButton1")
WinWaitActive("Installazione di PDFCreator","Leggere con attenzione le info")
ControlClick("Installazione di PDFCreator","Leggere con attenzione le info","TNewRadioButton1")
ControlClick("Installazione di PDFCreator","Leggere con attenzione le info","TNewButton2")
WinWaitActive("Installazione di PDFCreator","Selezionare la modalità di ins")
ControlClick("Installazione di PDFCreator","Selezionare la modalità di ins","TNewButton2")
WinWaitActive("Installazione di PDFCreator","Scegliere un nome per la stamp")
ControlClick("Installazione di PDFCreator","Scegliere un nome per la stamp","TNewButton2")
WinWaitActive("Installazione di PDFCreator","Dove si vuole installare PDFCr")
ControlClick("Installazione di PDFCreator","Dove si vuole installare PDFCr","TNewButton3")
If WinWaitActive("Installazione di PDFCreator","Installa l'Add On di PDFCreato",2) Then
ControlClick("Installazione di PDFCreator","Installa l'Add On di PDFCreato","TCheckBox1")
sleep(200)
ControlClick("Installazione di PDFCreator","Installa l'Add On di PDFCreato","TNewButton3")
EndIf
WinWaitActive("Installazione di PDFCreator","Quali componenti devono essere")
Send("{tab}" & "{DOWN}" & "{DOWN}" & "{DOWN}" & "{SPACE}")
ControlClick("Installazione di PDFCreator","Quali componenti devono essere","TNewButton3")
WinWaitActive("Installazione di PDFCreator","Dove si vuole inserire i colle")
ControlClick("Installazione di PDFCreator","Dove si vuole inserire i colle","TNewButton4")
WinWaitActive("Installazione di PDFCreator","Quali processi aggiuntivi si v")
ControlClick("Installazione di PDFCreator","Quali processi aggiuntivi si v","TNewButton4")
WinWaitActive("Installazione di PDFCreator","Il programma di installazione ")
ControlClick("Installazione di PDFCreator","Il programma di installazione ","TNewButton4")
WinWaitActive("Installazione di PDFCreator","L'installazione di PDFCreator ")
ControlClick("Installazione di PDFCreator","L'installazione di PDFCreator ","TNewButton4")
In tal modo la pdf toolbar non viene installata (considerando inoltre che per installarsi ha bisogno della connessione internet per scaricarla).

Offline DMD

  • Eng2ita Friends
  • **
  • Post: 475
  • Karma: 45
Re: Sezione Autoit, Discussioni e scambio di idee...
« Risposta #44 il: 08/02/2010, 23:16 »
GRANDE! FUNZIONAAA!  :milite: :up1: :grazie: :hop02:

Adesso però sono preoccupato, da chi vado a ripetizione?   :(
Ho un paio di programmi da fare un trattamento simile, porca paletta se sapessi almeno i comandi basilari per correggere lo script del Macrogenerator sarei apposto, mi risparmierei  un corso completo di AutoIT.
Purtoppo in rete non sono riuscito a trovare un granchè in merito.


Un saluto