Creare fottutissimi bot in AutoIt: I File #4

Luca Cicchinelli/ marzo 25, 2017/ Developing/ 0 comments

Se il vostro bot deve poter raccogliere e salvare dei dati, l’utilizzo dei file è essenziale.

AutoIt è un linguaggio di scripting, creato appositamente per interagire prettamente con sistemi Windows. Quindi offre funzioni utilizzabili per la creazione, l’eliminazione e la modifica dei file.

Negli articoli precedenti abbiamo compreso e implementato le funzioni che possono tornare utili durante la creazione di un bot.

  1. Le basi 
  2. I comandi
  3. _IsPressed

In questo articolo andremo ad analizzare ed implementare le seguenti funzioni: FileOpen, FileRead, FileWrite, FileExist, FileCopy, FileDelete, FileClose.

Leggere e scrivere un file

Prima di effettuare una qualsiasi lettura o scrittura, dobbiamo selezionare il modo in cui deve essere aperto il file.
Il file non verrà veramente aperto, verrà soltanto caricato in memoria dal nostro bot.

Per aprire un file utilizzeremo FileOpen

Non andremo ad analizzare tutte le modalità di apertura disponibili, ci limiteremo ad utilizzare le tre più importanti:

$FO_READ (0) = Lettura (è il valore impostato di default)
$FO_APPEND (1) = Scrittura (scrive alla fine del file)
$FO_OVERWRITE (2) = Scrittura (elimina il contenuto del file)

FileOpen ha bisogno di:

  • Il percorso del file che si vuole far aprire al bot
  • La modalità in cui deve essere aperto il file (Opzionale)
$handle = FileOpen($percorsoFile, $FO_READ) ;Per aprire un file in modalità di lettura
$handle= FileOpen($percorsoFile, $FO_APPEND) ;Per aprire un file in modalità di scrittura

Salveremo il valore di ritorno di FileOpen dentro una variabile: $handle.
Questa variabile conterrà il cosiddetto handle del file, la utilizzeremo per l’esecuzione dei successivi comandi.

Per leggere un file utilizzeremo FileRead

FileRead ha bisogno di:

  • L’handle del file
  • Il numero dei caratteri da leggere (Opzionale)
$data = FileRead($handle, 111)
ConsoleWrite($data)

Per scrivere su un file utilizzeremo FileWrite

FileWrite ha bisogno di:

  • L’handle del file
  • La stringa da scrivere nel file
FileWrite($handle, "howorks.org")

Eliminare e copiare un file

Per l’eliminazione e la copia di un file non è necessario utilizzare FileOpen, per ottenere l’handle.
I seguenti comandi, infatti, hanno bisogno soltanto del percorso del file in questione.

Per eliminare un file utilizzeremo FileDelete

FileDelete ha bisogno di:

  • Il percorso del file che si vuole far eliminare al bot
FileDelete($percorsoFile)

Per copiare un file utilizzeremo FileCopy

Questo comando mette a disposizione una scelta nel caso in cui si verifichi una sovrascrizione, nel momento in cui si effettua la copia di un file.
Abbiamo tre opzioni:

$FC_NOOVERWRITE (0) = Non effettua la sovrascrizione (è il valore impostato di default)
$FC_OVERWRITE (1) = Effettua la sovrascrizione
$FC_CREATEPATH (8) = Crea le eventuali cartelle necessarie

FileCopy ha bisogno di:

  • Il percorso del file che si vuole far copiare al bot
  • Il percorso dove si vuole copiare il file
  • Il flag per impostare cosa fare in caso di sovrascrizione (opzionale)
FileCopy($PercorsoFile, $PercorsoNuovoFile, 0)

FileExist

Quando si parla di file, un altro comando che potrebbe tornarci utile è il FileExist.
Questa funzione permette di accertarsi dell’esistenza di un file.

FileExist ha bisogno di:

  • Il percorso del file che si vuole far controllare al bot
$checkExist = FileExist($percorsoFile)

Nel caso in cui il file esista, il valore di ritorno di FileExist sarà 1, altrimenti sarà 0.
Come già visto in precedenza, ci basterà utilizzare un Controllo If per determinare le azioni da compiere in entrambi i casi.

Conclusione

Per qualsiasi dubbio potete contattarci utilizzando i commenti o le nostre pagine social.

Facci sapere cosa ne pensi con un commento!