binaere EXE-Datei Compare&Copy v1.36



EMP: /HANNOVER/ZBATCH
EMP: /T-NETZ/SUPPORT/ZERBERUS/TOOLS
EMP: /T-NETZ/RECHNER/IBM/BINAER
BET: Re: CAC.EXE - Compare&Copy
ABS: Matthias@OLN.ComLink.DE (Matthias Watermann)
EDA: 19950102212900W+1
ROT: 
MID: 5d4hJ9buP0B@dfg.oln.ComLink.DE
LEN: 5059
ANTWORT-AN: Matthias@oln.ComLink.APC.org
BEZ: 5V0BcqSuP0B@dfg.oln.ComLink.DE
BEZ: 5V0BdC8eP0B@dfg.oln.ComLink.DE
BEZ: 5V_egFReP0B@dfg.oln.ComLink.DE
MAILER: CrossPoint v3.02 R/A44
ORG: Die Freie Gesellschaft, Hannover, FRG

References: <5V_egFReP0B@dfg.oln.ComLink.DE>

Ich schrieb am 26.08.94:

> [...]
>  Da ich  nun keine weiteren  sinnvollen Erweiterungen mehr  wüßte,
>  stelle ich  das Programm nunmehr als  Version 1.0 zur allgemeinen
>  Verfügung (mit der nächsten Nachricht).

        Tja, wie das so ist: Wenn  man drei Leute fragt, so erhält
 man mindestens  vier weitere Vorschläge  ;-) Und alles  wäre auch
 =sehr= wichtig. Nun ja, glauben wir's also ...

        Neu hinzugekommen  sind die Optionen,  den Datei-Vergleich
 gleichzeitig  in  beiden  Richtungen  durchzuführen  ('-b'),  die
 Anzahl  der  kopierten  Dateien  per  ErrorLevel an Batch-Dateien
 zurückzumelden ('-f'),  event. auftretenden DOS-Fehler  nicht nur
 intern  abzufangen, sondern  auch auf  den Bildschirm  auszugeben
 ('-w'),   und   schließlich   die   Möglichkeit,   auch   mehrere
 Datei-Masken  von  der  Bearbeitung  auszuschließen ('-x<mask>'),
 wieviel  auch immer  man auf  der Kommandozeile  unterbringt. Der
 Parameter für  das Ziel-Verzeichnis ist nun  nicht mehr zwingend:
 Fehlt   er,  so   wird  automatisch   das  aktuelle   Verzeichnis
 angenommen.

        Daneben    wurden   die    Routinen   zum    Scannen   des
 Verzeichnis-Baumes komplett neu geschrieben,  um bei großen (d.h.
 tief verschachtelten) Netzwerk-Volumes störende NetWare-Warnungen
 zu  vermeiden. Das  Programm  arbeitet  jetzt in  zwei Schritten:
 Zuerst  wird im  Arbeitsspeicher ein  kompletter Verzeichnis-Baum
 der  zu vergleichenden  Directories aufgebaut,  anschließend dann
 werden die Verzeichnisse jeweils einzeln durchsucht.

        Desweiteren wurde der Wunsch  geäußert, doch auch dann ein
 'Lebenszeichen' zu  erhalten, wenn man  den Parameter '-v'  nicht
 gewählt  hat.  In  diesem  Fall  wird  jetzt  die lfd. Anzahl der
 bearbeiteten Dateien am Monitor  ausgegeben. Dies geschieht auch,
 wenn man '-v' gewählt, aber  die Bildschirm-Ausgabe in eine Datei
 umgeleitet hat, so daß man auch  in diesem Fall über den Fortgang
 der  Arbeit  informiert  bleibt  (ohne  '-v'  ist  eine  Ausgabe-
 Umleitung  weder möglich  noch  sinnvoll,  weil ja  nichts weiter
 angezeigt wird).

        Die   freiwillige  Rechenzeitfreigabe   wurde  durch  eine
 explizite DesqView-Unterstützung  ergänzt: Wenn in  anderen Tasks
 DOS aktiv ist (sprich: Int  $21), wartet "CaC". Dadurch gibt's in
 anderen  Tasks  keine  Verzögerungen  mehr  (bspw. beim Tastatur-
 Handling). Soll  jedoch das Kopieren  unter DV ohne  Zeitfreigabe
 erledigt werden, kann die  DesqView-Unterstützung durch '-q' auch
 abgeschaltet werden.

        Um  die  Arbeit  mit  CD-ROM-Laufwerken  zu  unterstützen,
 wurden div.  interne Programm-Änderungen notwendig.  Sofern "CaC"
 auf  ein   CD-ROM  schreiben  soll,   terminiert  es  mit   einer
 entsprechenden  Fehlermeldung sofort.  Falls der  Lösch-Parameter
 '-d'  zusammen  mit  einer  CD-ROM  als  Quell-Laufwerk angegeben
 wurde, wird er automatisch  deaktiviert, ansonsten arbeitet "CaC"
 normal weiter. Außerdem werden  die Attribute der erzeugten Ziel-
 Dateien automatisch zurückgesetzt, wenn die Quelle ein CD-ROM war
 (da solche Dateien häufig als R/O markiert sind).

        Komplettiert wurde auch  die 'statistische' Auswertung zum
 Schluß,   in  der   jetzt  auch   die  Anzahl   der  durchsuchten
 Verzeichnisse und  die verstrichene Zeit  mit ausgegeben wird.  -
 Ein Abbruch des Programmes ist jederzeit durch ESC möglich, wobei
 jedoch   eine   gerade   ausgeführte   Kopier-Operation  zunächst
 abgeschlossen wird, so daß keine Daten-Fragmente entstehen.

        Entwickelt  und  getestet  wurde  "CaC"  unter  DV/X v2.0,
 NetWare v3.11,  MS-DOS v6.20 u.a. mit  MSCDEX v2.22 und MapAssist
 v3.0  - falls  in  anderen  Netzwerk-Umgebungen oder  mit anderen
 CD-ROM-Treibern  Probleme auftreten,  wäre ich  für entsprechende
 Hinweise (und Problem-Beschreibungen) dankbar.

 Here we go ...

 Compare&Copy v1.36 - Copyright (c) 1994,95 DFG/M.Watermann
 Usage:

 CaC <SourceDir\Mask> [Dest-Dir] [-abcdefhinoqrsvw?] [-x<mask> [-x<mask2>]]

 options:
 -a  {A}sk before copying a file;
 -b  compare&copy in {B}oth directions;
 -c  {C}reate not-existing directories;
 -d  {D}elete copied source-files;
 -e  copy only already {E}xisting files;
 -f  return # of copied {F}iles in errorlevel;
 -i  {I}gnore date/time-stamp of files;
 -n  copy only {N}ot-existing files;
 -o  compare {O}nly (don't copy);
 -q  disable Des[q]View-support;
 -r  do NOT {R}emove empty directories (if '-d' is used);
 -s  include {S}ubdirectories (recursive search);
 -v  {V}erbose mode (display processed files);
 -w  {W}rite DOS-errors to screen;
 -x  e{X}clude file-<mask> from copying;
 -h  with this little {H}elp from my friends ...


 Hope it helps :-)

 --
        Matthias

 ,,Folge der moralischen Wahrheit, nicht den Befehlen des Herrschers.
 Tue, was richtig ist, auch wenn du deinem eigenen Vater ungehorsam
 sein mußt.''                                           (Hsün-tzu)