Aggiornamento software gestionale, automatico, da prompt dei comandi



In questa guida ti spiegherò come effettuare un aggiornamento software gestionale, automatico, di file e cartelle da prompt dei comandi.
di Antonio Lamorgese


Se sviluppi software ti sarai senz’altro trovato nelle condizioni di dover aggiornare l’eseguibile a seguito di modifiche apportate al programma.Mettere in piedi una procedura studiata ad-hoc per snellire un aggiornamento del tuo software gestionale, in automatico, di tutti i file e le cartelle che lo compongono ti farebbe risparmiare un bel po’ di tempo.Mantenere aggiornato un intero  progetto software , richiede che, sui computer del cliente, venga effettuata o una nuova installazione, oppure, una copia di file aggiornati del programma. Operazione da compiere su ogni client. Si tratta, quindi, di effettuare una copia speculare di file e cartelle da una unità, contenente file aggiornati, ad un’altra unità, solitamente “C:\”, su cui aggiornare il contenuto. Operazione effettuabile con l’ausilio del solo terminale di Windows, noto come,prompt dei comandi.

Solitamente, per effettuare questa operazione, è necessario procedere manualmente o inviare un nuovo pacchetto software aggiornato al cliente, insieme ad una procedura guidata per l’aggiornamento del programma. Come anticipato precedentemente, questa fase purtroppo, richiede del tempo. È il tempo, per chi svolge qualsiasi attività, è sempre prezioso. Perciò, in questa guida ti spiegherò come effettuare unaggiornamento software gestionale automatico, di un file eseguibile, daprompt dei comandi di Windowssfruttando un file batch opportunamente predisposto. Ma ripeto,la procedura è applicabile ad un intero progetto software contenente file e cartelle.


Leggi anche:Come riparare Windows 10 utilizzando il prompt dei comandi


1. Aggiornamento Software gestionale da prompt dei comandi

Come anticipato al paragrafo precedente, per aggiornare un programma, sarebbe ideale studiare una procedura automatizzata che copiasse il nuovo file eseguibile, nella sua cartella di destinazione sull’hard disk senza alcun intervento da parte dell’utente. Per cui una volta consegnato, il nuovo file aggiornato, su una chiavetta USB, oppure, su una unità CD-ROM, basterebbe inserire questo supporto nella porta dedicata del PC e attendere che la procedura venga avviata in automatico e aggiorni il file desiderato. Per facilitare la procedura ho dato per scontato che l’eseguibile da aggiornare risieda sull’unità “C:\” del computer.

A tal proposito ho messo a punto una procedura, memorizzata in un file batch e schedulata a intervalli di qualche secondo tramite il Task Scheduler di Windows, che effettuerà una scansione di tutte le unità del computer, tranne “C:\”, e una volta individuato il file aggiornato lo copierà nella cartella indicata nella sezione dedicata ai parametri della procedura.

Il primo passo necessario è quello dicreare un file batch, cioè con estensione “.bat” vuoto, copiare e incollare i seguenti comandi all’interno del file:

cls
@echo OFF
setlocal EnableDelayedExpansion
set letters=a b d e f g h i j k l m n o p q r s t u v w x y z
set start=a
set end=z
REM ******************************
REM *** IMPOSTAZIONE PARAMETRI *** 
REM ******************************
set DirectoryEseguibileDaAggiornare = NomeDirExeDaAggiornare
set fileEseguibileAggiornato = NomefileEseguibileAggiornato.exe
set "temp=!letters:*%start%=%start%!"
for /F "delims=$" %%a in ("!temp:%end%=%end%$!") do (
   for %%b in (%%a) do (
      if Exist %%b:\%fileEseguibileAggiornato% (
         @echo ********************************************
         @echo *** AGGIORNAMENTO SOFTWARE DA UNITA' %%b ***
         @echo ********************************************
         :inizio
            TaskKill /F /IM %fileEseguibileAggiornato% /T
            del C:\%DirectoryEseguibileDaAggiornare%\%fileEseguibileAggiornato%
            if Exist C:\%DirectoryEseguibileDaAggiornare%\%fileEseguibileAggiornato% Goto inizio
         Copy %%b:\%fileEseguibileAggiornato% C:\%DirectoryEseguibileDaAggiornare% /Y
         if Exist C:\%DirectoryEseguibileDaAggiornare%\%fileEseguibileAggiornato% (
            cd\
            cd\%DirectoryEseguibileDaAggiornare%
            %fileEseguibileAggiornato%
         )
      ) 
   )
)

Dopo aver creato il file salva il contenuto al suo interno, dandogli anche un nome, e parametrizza il nome della cartella e il nome del file eseguibile, alle righe 10 e 11, presenti sull’unità “C:\” del computer. In parole povere la cartella che contiene il file eseguibile da aggiornare e il file eseguibile stesso presenti sul computer. Nota bene come alla riga 3 del codice, dove è stata inizializzata la lista contenenti le unità da scansionare, è stata volutamente omessa la lettera “C”, in quanto considerata unità da trascurare dalla scansione perché contenente l’eseguibile da aggiornare sul computer. Una volta parametrizzate queste variabili non devi fare altro che spostare questo file batch in una cartella sotto “C:\”. Nel prossimo paragrafo ti spiegheròcome schedulare la sua esecuzione automatica.

READ Come attivare Windows 10 gratis

2. L’utilità di pianificazione di Windows 10

Adesso hai un file batch contenente tutti i comandi necessari per scansionare automaticamente tutte le unità del computer e sostituire, nella cartella indicata nei parametri, il file eseguibile da aggiornare. Quindi, una volta inserita, ad esempio, una chiavetta USB contenente il file eseguibile aggiornato.Il task Scheduler di Windows 10, eseguirà, a intervalli prefissati di qualche secondo, il file batch che scansionerà l’unità USB, che hai inserito nel computer, chiuderà l’eseguibile da aggiornare, presente sul computer nell’unità “C:\” se aperto, e lo sostituirà con quello contenuto sulla chiavetta USB senza alcuna richiesta di intervento da parte dell’utente. Al termine della procedura i comandi contenuti all’interno del file batch riavvieranno nuovamente il file eseguibile aggiornato. Per cui l’unica operazione che dovrà effettuare l’utente è inserire l’unità con l’eseguibile aggiornato e rimuoverla ad aggiornamento ultimato.

3. Schedulare l’esecuzione automatica del file batch

Ora, vedrai come schedulare l’esecuzione del file batch utilizzando il Task Scheduler di Windows 10, chiamata ancheutilità di pianificazione. Quindi, premi i tasti WIN + R, digita il comandotaskschd.msce premi invio.

aori il task scheduler di windows 10

Dopo l’esecuzione di questo comando si aprirà la finestra dello scheduler pronta per poter schedulare l’esecuzione di qualunque software lasciando a Windows 10 il totale controllo del processo di esecuzione. La finestra che ti troverai di fronte inizialmente ti darà l’impressione di essere poco user-friendly. Ma ti posso garantire che in pochissimi passaggi riuscirai a schedulare l’esecuzione di qualsiasi programma in Windows 10. Quindi, con tasto destro del mouse sulla voceUtilità di pianificazione (computer locale), seleziona la sottovoce del menuCrea attività.

aggiornamento software con il task scheduler

riempi tutti i campi della schedaGeneralecosì come indicato in figura e procedi con l’implementazione del Task selezionando la schedaAttivazionee successivamente clicca sul pulsanteNuovo. A questo punto, come hai fatto per la scheda Generale procedi compilando i campi relativi in rosso e relativi all’attivazione dell’esecuzione del file batch come indicato in figura:

READ Rimuovi sfondo online da un’immagine con un Photo editor Free
scheda attivazione dello scheduler

una volta compilati i campi come indicato clicca sul pulsanteOke procedi con la selezione della schedaAzioni.Una volta selezionata questa scheda clicca sul pulsanteNuova…e procedi con la compilazione dei campi proposti dallo Scheduler.

task scheduler scheda azioni

Adesso, clicca sul tastosfogliae seleziona il file batch precedentemente salvato sul computer e che contiene i comandi per scansionare le unità del PC ed aggiornare il file eseguibile. Terminata questa fase premi il pulsanteOk.

È il momento di passare alla schedacondizioni. In questa scheda devi spuntare solo la voceRiattiva il computer per eseguire l’attivitàe procedi cliccando sul pulsanteOk.

task scheduler scheda condizioni

L’operazione di schedulazione dell’esecuzione del file batch tramite l’Utilità di pianificazione di Windows 10 è quasi terminata. Non ti rimane che passare alla schedaImpostazionie assicurati di spuntare solo la casellaAvvia appena possibile se un avvio pianificato non viene eseguito. Ora premi il tastoOke l’operazione è terminata. Per aggiornare il tuo file eseguibile non ti rimane che copiare il file eseguibile aggiornato su una chiavetta USB, inserirla nel computer e attendere l’aggiornamento automatico eseguito dallo Scheduler di Windows 10. Lo Scheduler, così come impostato, eseguire ogni minuto il file batch e scansionerà tutte le unità del computer alla ricerca del tuo eseguibile aggiornato sostituendolo a quello memorizzato sul computer nella directory da te indicata nella sezione dedicata ai parametri presente nel file batch.


Leggi anche:Liberare spazio su Windows 10 con DISM eseguito da prompt dei comandi


4. Conclusioni

La procedura descritta in questa guida e i comandi contenuti all’interno del file batch possono essere modificati per aggiornare il contenuto di intere cartelle e non solo di un file eseguibile. Infatti, basta sostituire il comandocopycon il comandoRobocopyper effettuare aggiornamenti del contenuto di intere directory.

Ad esempio, con questo comando:Robocopy c:\Users\Antonio\Desktop\Prova E:\ /MIRtutto il contenuto della directory denominata “prova”, e presente sul desktop dell’utente “Antonio”, sarà replicato nell’unità di destinazione “E:\”, comprese tutte le sottodirectory anche se vuote.

Il comando Robocopy effettua una vera e propria operazione di mirroring, cioè, una copia esatta di una cartella in un’altra. Per questo motivo, Robocopy, è utilizzato per pianificare anche complesse procedure di  backup  e ripristino dei dati. È un comando già integrato in Windows e gestito attraverso l’utilizzo di particolari opzioni e parametri speciali digitati ed eseguiti direttamente dalprompt dei comandi. In questo breve video tutorial potrai vedere come pianificare e sincronizzare un backup con il comando Robocopy. Dopo aver visto le potenzialità di Robocopy potrai personalizzare il file batch, contenuto in questa guida, per schedulare il backup dei tuoi file più importanti.

Creare un backup con Robocopy

Leggi anche:Creare un sito web con PHP Web Server


Antonio Lamorgese

Amministratore di rete e sviluppatore. Dopo anni di esperienza nel settore, ho ideato un sistema di gestione dati MYSQL in PHP senza scrivere una sola riga di codice. Scopri di più....