Lijkt me ******* handig dat je vermeldt
hoe die backups zijn opgeslagen, in de sfeer van:
a. Een monolitisch backup-bestand (denk aan Acronis) waar je (alleen) in het backup programma zélf de bestanden/mappen kunt aangeven voor terugzetten/restoren.
b. Een kopie van de mappenstructuur op een extern opslagmedium, bijv. gemaakt met Verkenner.
Ik zie namelijk alleen bij optie b. een mogelijkheid om het "geautomatiseerd" te doen, niet bij optie a., tenzij die iets te "voederen" zou zijn (=een bestandslijst) van wat er teruggeplaatst moet worden (en waarheen) [batch-verwerking met input-bestand].
Alvast: Een tekst-lijst maken met alle bestanden die in de aangegeven periode zijn gewijzigd kan bijv. via
Bulk Rename, waarbij de portable versie genoeg is om te gebruiken.
Start het programma, maximaliseer 'm, kies in het linker vak de juiste hoofdmap waar die \0\0\0 etc. mappen onder staan en zet in "Filters (12)"
uitsluitend de opties Files en Subfolders aan.
Sorteer dan de uitvoer (vak rechts boven) op kolom Modified (=wijzigingsdatum).
Zoek de bestanden die in de aangegeven periode zijn gewijzigd, maak dat een selectie (zodat de bestanden blauw zijn gekleurd in Bulk Rename), rechtsklik op die selectie en kies Clipboard copy -> Pathname + Ext.
Je kunt dan in (bijv.) Kladblok de inhoud van het klembord plakken, en zo heb je de lijst van bestanden (incl. mapnaam) die je moet laten overschrijven door een kopie uit de backup.
Het programma Bulk Rename dan afsluiten zonder het programma iets te laten doen (gewoon afsluiten, dus in dat programma verder nergens op klikken etc.)
Wil je dat terugzetten automatiseren, dan kun je m.b.v. een macro in een programmeerbare editor (zoals MicroEmacs (*)) een batch-bestand maken. Evt. kan ik je daar wel mee helpen, als ik die bestandenlijst heb én je erbij vermeld waar de basis-map van de backup staat.
Als voorbeeld heb ik in
mijn mappenstructuur via Bulk Rename onder Mijn Documenten de bestanden opgezocht die een wijzigingsdatum hebben van januari 1998 t/m mei 1998:
C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\snap\dir.txt
C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\roms\dir.txt
C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\samples\dir.txt
C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\hi\dir.txt
C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\cfg\dir.txt
C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\inp\dir.txt
C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\artwork\dir.txt
C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\memcard\dir.txt
Met MicroEmacs en een backup-locatie van E:\Mijn Documenten als basis-map zou de batch-file er dan zo uitzien:
copy "E:\Mijn documenten\Downloads\Pinball\vpinmame_23\snap\dir.txt" "C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\snap\dir.txt"
copy "E:\Mijn documenten\Downloads\Pinball\vpinmame_23\roms\dir.txt" "C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\roms\dir.txt"
copy "E:\Mijn documenten\Downloads\Pinball\vpinmame_23\samples\dir.txt" "C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\samples\dir.txt"
copy "E:\Mijn documenten\Downloads\Pinball\vpinmame_23\hi\dir.txt" "C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\hi\dir.txt"
copy "E:\Mijn documenten\Downloads\Pinball\vpinmame_23\cfg\dir.txt" "C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\cfg\dir.txt"
copy "E:\Mijn documenten\Downloads\Pinball\vpinmame_23\inp\dir.txt" "C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\inp\dir.txt"
copy "E:\Mijn documenten\Downloads\Pinball\vpinmame_23\artwork\dir.txt" "C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\artwork\dir.txt"
copy "E:\Mijn documenten\Downloads\Pinball\vpinmame_23\memcard\dir.txt" "C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\memcard\dir.txt"
MicroEmacs macro voor deze verwerking ziet er zo uit (met de tekst met bestandsnamen geplakt in MicroEmacs, via Edit -> Clipboard -> Paste of een tekst-bestand geopend met die inhoud, macro in een aparte buffer):
Code:
beginning-of-file ; naar het begin van het bestand
!while ¬ &seq $line "" ; zolang niet op een lege regel, dus zolang nog niet aan het einde van het bestand
insert-string "~"" ; voeg dubbele quotes toe het begin van de regel/bestandspad
end-of-line ; naar einde regel
insert-string "~"" ; voeg dubbele quotes toe aan einde van de regel/bestandspad
set-mark ; zet MicroEmacs regiomarkering
search-reverse "\Mijn Documenten\" ; zoek teruguit het onderscheidende begin van de padnaam
copy-region ; kopieer de regio naar het MicroEmacs klembord
beginning-of-line ; naar begin regel
insert-string "copy ~"E:" ; voeg het copy commando + het onderscheidende deel van de BACKUP-locatie toe
yank ; voeg de regio toe vanuit het MicroEmacs klembord
insert-string " " ; scheid bron van kopieeractie en bestemming met een spatie
beginning-of-line ; naar het begin van de regel
next-line ; naar de volgende regel, dus gereed voor de verwerking van die volgende regel
!endwhile
(*) Microemacs binaries download je
hier ("uemacs
4.04 for Windows NT (Intel)
GUI", download de
exe versie)
Volledige handleiding (pdf):
hier
Quick reference:
hier
Basis-tutorial:
hier
Tijs.