Newsgroup: it.comp.software.shareware
Titolo: Copia totale dei dati su unità esterna

Ciao a tutti!
Conoscete qualche bel programmino per XP che mi copi tutti i dati su
un'unità di rete esterna?
Per intenderci, per lavoro mi capita spesso di formattare PC... invece
di perder tempo a mettere da parte le cose necessarie, rischiando di
dimenticarmi qualcosa, potrebbe essere utile un programma che copi
TUTTO su un HD esterno e poi, una volta formattato il PC, recupero le
cose che mi servono... intendo una classica copia dei dati, non
un'immagine tipo Ghost... 
Grazie! 
TASLACH

Mi sembrava di avere risposto al newsgroup e non al mittente: riprovo.
Nei siti in Dettagli - Comunicazioni trovi che fare per usare l'esempio.
http://www.genie.it/utenti/windos1
 
http://space.tin.it/computer/iurnapol
http://www.dircredito-crf.org/windos
 
http://www.falcrifirenze.it/windos
Rimetti su 1 riga le scritte tra virgolette spezzate su 2 righe dalla posta.
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// COPIATUTTO - Copia i dischi locali su un'unità di rete
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
alpha QualeUnita(alpha tipo);
int Pos;
alpha Unita;
// Inizio del programma
global void Main()
{
  bool alt;
  int i;
  double d, spazio;
  alpha a, dest, prov, rete, root, tipo;
  reset(); pgmstop(-1); inputesc("(enter) (esc)");
  security(0);
  printn("Per provare il programma metti in ogni disco fisso locale una
cartella");
  printn("perprova (es: C:\\perprova D:\\perprova ...) con un po' di dati da
copiare,");
  printn("altrimenti le prove su tutto il disco durano troppo tempo.
Scegliendo di");
  printn("fare la copia in locale puoi provare da un pc senza connessioni di
rete.");
  printn();
  print("Copia di perprova ?  "); a="si"; input(a,2); printn();
  if (lcase(a)=="si") prov="perprova\\"; else prov="";
  print("Copia in locale ?    "); a="si"; input(a,2); printn();
  if (lcase(a)=="si") tipo="FIX"; else tipo="NET";
  Unita=drives();
  // cerca l'unità di rete con più spazio libero
  spazio=0; rete="";
  Pos=0; root=QualeUnita(tipo);
  while (root!="")
  { d=fresp(root);
    if (d>spazio) {spazio=d; rete=root;}
    root=QualeUnita(tipo);
  }
  if (rete=="")
  { print("Non ci sono unità di rete");
    goto esci;
  }
  print("Se vuoi, cambia l'unità di rete ");
  input(rete,10); printn();
  // cerca salvataggi precedenti
  alt=false; Pos=0; root=QualeUnita("FIX");
  while (root!="")
  { dest=link(rete,"copia_disco_",left(root,1),"\\");
    if (exist(dest))
    { printn("Devi prima cancellare ",dest);
      alt=true;
    }
    root=QualeUnita("FIX");
  }
  if (alt==true) goto esci;
  printn();
  // copia le unità locali
  Pos=0; root=QualeUnita("FIX");
  while (root!="")
  { dest=link(rete,"copia_disco_",left(root,1),"\\");
    mkdir(dest); root=link(prov);
    printn("Copia di ",root," in ",dest);
    copydir(root,dest);
    root=QualeUnita("FIX");
  }
  printn("Operazione terminata");
esci:
  return;
}
// Successiva unità
alpha QualeUnita(alpha tipo)
{
  int ind;
  alpha root;
cerca:
  root="";
  if (Pos>=len(Unita)) goto esci;
  ind=instr(Unita," ",Pos);
  root=link(mid(Unita,Pos,ind-Pos),"\\");
  Pos=ind+1;
  if (wdrive(root)!=tipo) goto cerca;
esci:
  return root;
}