Archivi tag: cd dvd

Eseguire backup con ImgBurn in batch per la creazione e masterizzazione di file ISO

Questa guida è basata su ImgBurn 2.4.4.0, che potete scaricare da qui. Nel caso siate capitati qui molto dopo la data di redazione della guida (maggio’09), è possibile che le funzioni descritte qui siano state nel frattempo integrate nel software dall’autore, rendendo la guida superflua.

Ad ogni modo, lo scopo della presente quida è quello di far fare a ImgBurn una cosa per cui non è realmente pensato, cioè usarlo come software di backup su dischi ottici.

Come forse sapete ImgBurn ha una funzione molto utile di masterizzazione batch di file ISO, ovvero è in grado di gestire una coda di immagini ISO in modo tale che l’unica cosa che dobbiate fare voi, oltre a premere un pulsante per avviare l’intera procedura, è togliere il DVD appena masterizzato, che espulso automaticamente, e inserire un DVD vuoto per la ISO successiva, mentre il programma fa da solo tutto il resto, quindi potete continuare a fare quello che volete col vostro pc senza distrazioni.

Quello però di cui ha assolutamente bisogno ImgBurn per la masterizzazione in batch, è una serie di immagini ISO, mentre i comuni mortali con la necessità di effettuare grandi backup hanno di solito i file memorizzati in cartelle e sottocartelle, che in questo caso vanno convertite in immagini ISO, però purtroppo ImgBurn non ha una funzione batch per la creazione di ISO, bensì solo la procedura manuale. Il lavoro che farò in questa guida servirà a fare in modo che possiate creare in batch anche le ISO, a partire da una serie di cartelle predeterminate.

 

La prima parte del lavoro è quella più impegnativa, anche a seconda del volume di dati da salvare: dovete fare tutto a mano, a meno che non stiate usando dei software in grado di ottimizzare la distribuzione dei file per la masterizzazione su DVD (come Ignition di KC Softwares, ma questa guida non copre tale aspetto). per farla breve, dovete creare una cartella di lavoro, nella quale creerete tante cartelle quanti saranno i DVD da masterizzare. Per fare un esempio (tutte le lettere ed i percorsi sono tratti dalla mia configurazione reale di sistema), diciamo che avete un drive con molto spazio libero, come F:, e che la vostra cartella di lavoro sia quindi F:\Burn; dovete quindi decidere quali dati andranno masterizzati, e dovrete partizionarli in pezzi da 4.3GB (cioè quanto è in grado di contenere un normale DVD registrabile), e questi "pezzi" saranno spostati/copiati in sottocartelle nella cartella di lavoro (dovreste dare a queste cartelle un nome quanto più possibile descrittivo), come nell’immagine di esempio:

cartelle di lavoro
Alcune cartelle fittizie contenenti i dati da masterizzare; ciascuna cartella non deve contenere più di 4.3GB di file, pena l’impossibilità di masterizzarla su un singolo DVD; non c’è però limite alle sottocartelle, i vostri DVD di backup possono avere la struttura di cartelle che preferite. Notate il file buildiso.bat che ci servirà in seguito.

 

Questo lavoro potrà essere lungo, specialmente se avete molto materiale da salvare, siccome dovete trovare la migliore combinazione di partizionamento per sfruttare al massimo i 4.3GB di spazio a disposizione su ogni DVD, comunque dopo questo passaggio, il resto richiede pochissimo impegno.

A questo punto dovete impostare ImgBurn per fargli fare il lavoro a dovere (necessario solo la prima volta). Andate nel menù Tools > Settings > Build

imgburn build options page 1
imgburn build options page 2
Queste sono le impostazioni per la funzione Build di imgBurn, gli utenti inesperti dovrebbero mantenerle federlmente per replicare i risultati, quello cyhe comunque vi suggerisco è di abilitare "Don’t Prompt DivX Video Settings" o rischiate di avere interruzioni nel procedimento automatico di creazione dei file ISO.

 

Quindi andate al pannello Write:

imgburn write options
Per far funzionare correttamente la funzione batch write di ImgBurn dovreste usare queste impostazioni.

 

Adesso le preparazioni sonocomplete, e possiamo occuparci del file buildiso.bat che abbiamo visto prima. Semplicemente create un file vuoto di questo nome, inserendo al suo interno il seguente comando (accertatevi di selezionare e compiare l’intera riga, quasi certamente va fatta scorrere orizzontalmente

@for /d %%i in (*.*) do "e:\program files\tools\imgburn\imgburn.exe" /mode build /buildmode imagefile /src "%%i\" /dest "F:\Burn\%%i.iso" /FILESYSTEM "UDF" /UDFREVISION "2.01" /VOLUMELABEL "%%i" /rootfolder yes /noimagedetails /start /close

Avete bisogno di rimpiazzare i percorsi nel comando con quelli gisti nel vostro caso, dove il primo (e:\program files…) è il percorso completo del file imgburn.exe, e il secondo (F:\Burn\) è il percorso della vostra cartella di lavoro. Quello che fa questo file è invocare ImgBurn per ogni sottocartella della vostra cartella di lavoro, e creare un file ISO a partire da quest’ultima, rispettando l’albero di cartelle interno, e usando il nome della cartella sia come nome per il file ISO sia come etichetta per il volume DVD da masterizzare (è per questo che conviene scegliere un nome descrittivo per le cartelle). Qualche nota sul comando: ho usato un filesystem esclusivamente UDF, e nella revisione 2.01 (non la più recente), perché? Risponde alle mie necessità, siccome non devo masterizzare DVD video che non funzionano correttamente un UDF, ma d’altra parte posso avere necessità di fare il backup di file più grandi di 2GB; e tra le varie revisioni di UDF, controllando su Wikipedia ho scelto quella che combina le funzioni più avanzate con la massima compatibilità. Nota: i file ISO creati in questo modo non verranno aperti correttamente da 7zip, ma potranno essere montati normalmente da DaemonTools, quindi potrete comunque estrarre i files al loro interno.

A questo punto dovete avviare il procedimento automatico di creazione dei file ISO, quindi copiate il file buildiso.bat nella cartella dove avete creato le sottocartelle da masterizzare, e avviatelo, noterete come verrà fatto partire ImgBurn che inizierà immediatamente a creare il primo file ISO, dopodiché si chiuderà e proseguirà col successivo. Tenete presente che non è necessario utilizzare in questa fase la cartella di lavoro, se avete le cartelle da masterizzare su un’altra partizione, o ad esempio su un disco USB esterno, potete copiare in quella posizione il file bat, e una volta avviato, questo provvederà comunque a creare le immagini ISO nella cartella di lavoro predefinita (in questo caso F:\Burn): in questo modo non sarete obbligati a copiare tutti i file nella cartella di lavoro, se li avete già memorizzati su un altro dispositivo, purché ogni cartella contenga al massimo 4.3GB di dati.

Alla fine di tutto il processo avrete una serie di file .iso nella cartella di lavoro, assieme ai corrispondenti file .mds (per semplicità, potete cancellare tutti questi file .mds dopo aver provveduto a ordinare per tipo di file la cartella in windows explorer, nel mio caso dopo averlo fatto il tutto ha funzionato normalmente); questi files .iso sono quelli che scriverete su disco con la procedura batch di ImgBurn; potete anche cancellare, se vi è necessario, le cartelle dei dati che avete creato per le ISO, siccome a questo punto sono state già inglobate nei singoli file .iso appena creati. Quindi avviate ImgBurn e andate in Mode > Write Mode oppure scegliere Write image file to disk dal menù di avvio, e premete il pulsante col simboletto della cartella ed il segno più verde, nella sezione Source, accanto a Please select a file…, e trascinate i file .iso dalla finestra di Windows Explorer allo spazio bianco:

imgburn write queue dialog
Qualcosa come questo apparirà dopo aver trascinato i file .iso da explorer. Diamo un’occhiata alla casella "Delete the image when done"; è una funzione utile se volete cancellare i file ISO dopo averli masterizzati, potete abilitarla singolarmente per ogni file che preferite, o, se volete cancellare tutte le immagini appena dopo la scrittura, dovrete selezionarle tutte dall’elenco della coda, e quindi attivare la casella. Per iniziare la scrittura è necessario premere il pulsante sulla destra appena sotto l’elenco della coda, che in questo esempio era disattivato in quanto non avevo inserito alcun DVD vergine nel masterizzatore, ma che nel vostro caso sarà attivo se il programma rileverà un disco vergine.

 

Quando la coda è stata creata ed impostata, premete il pulsante di scrittura nella finestra della coda, e la masterizzazione avrà inizio; tutto quello che dovete fare a questo punto è… farvi i fatti vostri fino a quando non verrà espulso il DVD appena msterizzato, quindi dovete sostituirlo con un altro DVD vergine, chiudere il cassettino, e la masterizzazione passerà al file successivo, tutto questo mentre siete in chat, guardate un film, navigate sul web, o perché no, giocate al vostro titolo 3D preferito.

Eseguire backup con ImgBurn in batch per la creazione e masterizzazione di file ISO

Script automatico per copiare i propri backup da CD/DVD a hard disk/nas

14/4/2010. Di recente ho deciso di non salvare più i miei backup su CD/DVD e di trasferire tutto su un hard disk da 2 terabyte. Non è economico, ma quello che da una parte si spende di più (una tantum) si guadagna dieci volte tanto in quanto a rapidità, semplicità e spazio fisico occupato. Quindi ho acquistato un disco da 2TB e l’ho inserito in un box usb esterno.
Salvare i dati “nuovi” sull’hard disk è poca cosa, ma invece copiare tutti i contenuti di alcune centinaia di “vecchi” dischi ottici è un’altra storia, infatti farlo manualmente disco per disco sarebbe un’opera titanica; per questo avevo immaginato che esistesse un programma apposito che fosse in grado di trasferire i dati da CD/DVD a disco rigido in maniera automatica, richiedendomi solo di cambiare i dischi di volta in volta.
In altre parole tutto quello che volevo fare era aspettare che il disco appena copiato venisse espulso, cambiarlo con quello successivo e richiudere il cassettino continuando a usare il pc per altre cose, qualunque cosa fosse (scrivere questa guida ad esempio, mentre di tanto in tanto allungo il braccio e sostituisco i cd). Naturalmente per la legge di Murphy un programma del genere non esisteva, o almeno un’ora di ricerche non ha portato a nulla, quindi o lo scrivevo da me, oppure facevo tutto a mano trascinando i file sul nuovo hard disk un CD/DVD alla volta; scrivere un programma richiede molto meno tempo che fare un lavoro del genere a mano, quindi ecco qui i risultati.

La mia scelta è caduta su AutoHotKey come linguaggio di scripting (l’ho già usato in passato, ed ha proprio le funzioni di cui avevo bisogno), quindi in un’ora di lavoro studiando il linguaggio, ho scritto alcune righe di codice che fanno esattamente quello che mi serve.
In breve, ecco il listato della routine (non copiatelo ancora, leggete le spiegazioni alla fine):

while 1
{
	empty = 1

	while empty
	{
		DriveGet, status, StatusCD, E:

		if (status = "stopped" OR status = "not ready")
			empty = 0
		
		Sleep, 500
	}


	SetWorkingDir, E:\

	Loop, *.*, 2, 1
		FileCreateDir, M:\%A_LoopFileFullPath%
	
	Loop, *.*, , 1
	{
		if (A_LoopFileName != "filename1.ext"
		&& A_LoopFileName != "filename2.ext"
		&& A_LoopFileName != "filename3.ext")
		{
			docopy = 0
			IfExist, M:\%A_LoopFileFullPath%
			{
				MsgBox, 4, Overwrite file?, Overwrite file %A_LoopFileFullPath%?
				IfMsgBox, Yes
					docopy = 1
			}
			else
				docopy = 1
			if docopy = 1
				FileCopy, %A_LoopFileLongPath%, M:\%A_LoopFileFullPath%, 1
			if ErrorLevel
				MsgBox, Could not copy "%A_LoopFileLongPath%" to "M:\%A_LoopFileFullPath%" with ErrorLevel = %ErrorLevel%.
			ErrorLevel = 0
		}
	}

	Drive, Eject, E:
	
	SetWorkingDir, C:\
}
	

Come dicevo prima, non mettetelo ancora in funzione, è quasi sicuro che dovrete modificarlo.
Sostituite TUTTE le occorrenze di “E:” con la lettera giusta del lettore cd/dvdrom che userete.
Sostituite TUTTE le occorrenze di “M:” con la lettera giusta del disco rigido su cui volete copiare i dati.
La parte con “filenameX.ext” è per mia comodità, e forse anche per la vostra: ci sono alcuni file su quasi tutti i miei dischi che non vanno copiati sul disco rigido, si tratta dei cataloghi dei file, di alcuni eseguibili per riprodurre i video, eccetera; quella parte del codice è proprio per inserire il nome di questi file che volete vengano ignorati durante la copia. Se ve ne servono più di tre, basta ripetere la riga al centro più volte, se ve ne servono di meno, o nessuno, o modificate lo script, oppure se non avete idea di come fare potete lasciare tutto com’è, non credo che nei vostri backup ci siano file con nome “filenameX.ext”, quindi il programma funzionerà come se nulla fosse. Il comando “SetWorkingDir, C:\” è solo un passaggio temporaneo necessario per non interrompere il procedimento mentre cambiate dischi, lasciate tutto così purché abbiate un drive C:!

Salvate il codice in un file testuale con estensione .ahk, installate AutoHotKey e fate doppio click sul file che avete creato; se riceverò abbastanza richieste, troverò la voglia di creare un file eseguibile per avviare la routine senza dover installare autohotkey. Questo è il funzionamento del programma: quando viene lanciato, non fa nulla a meno che non trovi un disco inserito nel lettore ottico; appena inserite un disco inizia a copiare tutti i file sul disco rigido di destinazione (esclusi quelli che vanno ignorati, se presenti), ricreando la struttura delle cartelle presente su CD/DVD. Se ci sono file che esistono già sul disco rigido (perché magari presenti anche in altri dischi già copiati) il programma vi chiede se volete sovrascriverli o meno; a questo punto sorge un problema, perché nel mio caso anche se scelgo di sovrascrivere il file ricevo comunque un errore, ma premendo OK il programma continua ugualmente a funzionare; se accade anche a voi ed avete necessità di sovrascrivere comunque il file, allora vi conviene piuttosto cancellare manualmente il file già presente sulla destinazione e dare l’ok per sovrascrivere; oppure potete modificare lo script per fare in modo che salti del tutto i file già esistenti (ma io preferisco comunque avere una notifica, non si sa mai). Ad ogni modo, una volta che il disco ottico è stato completamente copiato, lo script “sputa fuori” il cassettino e si ferma, e avrete tutto il tempo di cambiarlo con quello successivo; poco dopo che avrete richiuso il cassettino, senza dover fare altro lo script ricomincerà a copiare i file, e così via; per fermare il procedimento, fate clic destro sull’icona verde con la lettera H nell’area di notifica, e premete Exit.

Ho testato lo script solo sul mio pc, e non ho tempo di fornire supporto se sul vostro non funziona. Ho comunque pensato che sarebbe stato utile condividere questo lavoro nel caso in cui qualcun altro avesse dovuto fare la stessa cosa.
Per la cronaca, finora il 4% dei CD risultava illegibile al punto da non permettere di essere copiato; non sono ancora giunto al punto in cui iniziai ad usare i DVD; per quanto riguarda le statistiche, il primo posto dei CD non leggibili va ai Verbatim Datalife (non plus), il secondo (una sorpresa) ai TDK Reflex, e all’ultimo ci sono i Traxdata tx; un’altra sorpresa, una marca sconosciuta di CDr con die verde, “CDV”, i primissimi che comprai, quindi anche quelli masterizzati più tempo fa (si parla di 9 anni), sono risultati tutti perfettamente leggibili, anche se non sempre a buone velocità; risultati perfetti, con alte velocità di lettura, sia per i TDK metalAZO con superficie bianca stampabile, che per i Verbatim DataLifePlus con superficie argentata, entrambi (ovviamente) con die blu; menzione d’onore sia per i TDK d-view che per i Verbatim Pastel-Disc, che sono risultati tutti leggibili.