Ik was al een tijd op zoek naar een scriptje die kon wat ik wilde, en vandaag maar eens opgepakt.
Ik vond een stukje source code van iemand, die aan het einde wel afgekapt leek te zijn. Enfin, de bassale basis werkte, maar niets meer dan dat.
Die dus behoorlijk zitten aanpassen en de logging en errorhandling erbij gemaakt, en nu eindelijk de applicatie die ik al een tijdje zocht en precies doet wat ik wil.
Ongetwijfeld zullen er na lang zoeken vast wat freeware tooltjes zijn die hetzelfde kunnen, maar van deze weet ik dat hij het kan, 'gratis' is en altijd aangepast kan worden wanneer ik dat nodig acht.
Zo .. en wat heb ik dan uiteindelijk gebrouwen ?
Een file distributie tooltje
De tool werkt op basis van een INI file. In deze INI file zet je een SOURCE path, en een x aantal TARGET paths (mag er 1 zijn, maar ook meerdere).
Als je de tool dan opstart, word de directory inhoud van de SOURCE gelezen. Alle subdirectory in de root van de SOURCE path worden mij aangeboden, daar kan ik er dan 1 of meerdere uit kiezen. Tevens krijg ik de vraag of ik voor het kopieren de TARGET leeg wil maken.
Na het kiezen kan ik kiezen voor 'Run now' of een wachttijd in blokken van hele uren.
Wanneer het moment van kopieren daar is, gaat de kopie run beginnen.
Voor elke SOURCE worden alle TARGETs behandeld (heb ik 1 source folder, gaat deze naar alle TARGET folders, heb ik 2 SOURCE folders, gaan deze 2 naar alle TARGET folders).
Voor elke afzonderlijke kopie actie wordt er gecontroleerd of de TARGET een drive of UNC is, en word er gecontroleerd of deze benaderbaar is.
Als iets niet benaderbaar is, wordt die TARGET overgeslagen en wordt dat geloged.
INI file:
[Parameters]
SourceRoot=c:\temp\distrib\files
Target1=c:\temp\files\1
Target2=g:\temp\files\2
Target3=\\acer_richard\cc$\temp\files\unc
Target4=c:\temp\files\4
Target3=\\acer_richard\c$\temp\files\unc
Log file:
Copy completed of c:\temp\distrib\files\zoek Size = 66677
to c:\temp\files\1\zoek Size = 66677
Copy completed of c:\temp\distrib\files\zoek ook Size = 66677
to c:\temp\files\1\zoek ook Size = 66677
Target drive g: does not exist!
Target drive g: does not exist!
Target UNC acer_richard\cc$ does not exist!
Target UNC acer_richard\cc$ does not exist!
Copy completed of c:\temp\distrib\files\zoek Size = 66677
to c:\temp\files\4\zoek Size = 66677
Copy completed of c:\temp\distrib\files\zoek ook Size = 66677
to c:\temp\files\4\zoek ook Size = 66677
Als er behoefte is aan een dergelijke tool wil ik 'm nog wel wat meer debuggen en uittesten en dan online plempen.
Vannacht is de vuurdoop, dan moet hij een 30 tal servers updaten nadat deze gereboot zijn.
Ng een belangrijk argument vergeten : de inhoude van de SOURCE folders worden letterlijk overgenomen.
In het voorbeeld geef ik dus als SOURCE folder het volgende path op : "SourceRoot=c:\temp\distrib\files"
In deze folder staan 3 subfolders (de 3 subfolders die ik voor distributie kan kiezen). Als nou een gekozen SOURCE bestaat uit een aantal subfolders, waar pas in de 3e subfolder een bestand staat, wordt die gehele structuur naar de TARGET gekopierd (lege subfolders dus ook).
[
Voor 7% gewijzigd door
Koffie op 03-08-2006 22:57
]
Tijd voor een nieuwe sig..