Salve a tutti,
<div><br></div><div>sto cercando di realizzare un semplice script per effettuare la copia automatica di alcuni file da memoria USB a un pc windows.</div><div><br></div><div>In pratica per ragioni di difficile accesso ad una postazione, l'operatore inserisce una memoria USB in una delle porte del pc e automaticamente vengono copiati dei file nel sistema (un Windows Xp).</div>
<div><br></div><div>In una prima ipotesi ho scritto qualcosa del genere, con l'ipotesi di avere gia' mappato un disco USB in precedenza:</div><div><br></div><div>----------------------------------------------------------</div>
<div><div>from os import access, F_OK</div><div>from time import sleep</div><div>from shutil import copy</div><div><br></div><div>copiato = False</div><div>while 1:</div><div> # se il disco mappato e' accessibile ...</div>
<div> if access("W:", F_OK):</div><div> # se e' gia' stato copiato non esegue nulla ...</div><div> if copiato:</div><div> None</div><div> else:</div><div> # copia il file e lo sovrascrive e imposta 'copiato' True</div>
<div> copy("w:\\pippo.txt", "c:\\")</div><div> copiato = True</div><div> else:</div><div> copiato = False</div><div> sleep(30)</div></div><div>----------------------------------------------------------</div>
<div><br></div><div>lo script rimane sempre in esecuzione e se ha accesso al disco W: copia il file fino a che la memoria non viene tolta e reinserita.</div><div><br></div><div>A questo punto, e' chiaro che lo script, molto semplice e spartano, non effettua la rimozione del dispositivo una volta copiato il file, quindi l'unica ipotesi e' togliere brutalmente la memoria rischiando di corrompere i dati. Ho provato a cercare in rete per risolvere questo problema e le soluzioni sembrano essere un paio: o effettuo la rimozione del dispositivo richiamando un'applicazione particolare da sistema (tipo ejectusb) o utilizzo delle chiamate di sistema, il che aumenterebbe notevolmente la complessita' dello script.</div>
<div><br></div><div>Avete mai avuto a che fare con un problema simile?</div><div><br></div><div>max</div><div><br></div>