#!/usr/bin/perl -w #======================================================= # quemarcd.pl - grabar CD y DVD con genisoimage y wodim #------------------------------------------------------- # FJA - neocipres@telefonica.net, Noviembre de 2007 #======================================================= use strict; my $tamCD = 0; my $linea = ""; my $flag = ""; my $valor = ""; my $tmp = ""; my $le = ""; sub raya { print "\n#"; print "=" x 78 . "#\n\n"; } if ($#ARGV == 0) { if ($ARGV[0] eq "-b") { raya; print "wodim -v -eject speed=4 -tao -blank=fast -force dev=/dev/sr0 \n\n"; system("wodim -v -eject speed=4 -tao -blank=fast -force dev=/dev/sr0"); raya; exit; } if ($ARGV[0] eq "-i") { print "\nwodim --devices \n\n"; system("wodim --devices"); print "\nwodim dev=/dev/sr0 -atip \n\n"; my @infCD = `wodim dev=/dev/sr0 -atip`; raya; foreach $linea (@infCD){ print $linea; if ($linea =~/\bATIP start of lead out:/){ $le = $linea; my $posP = index($le, ":"); my $posU = rindex($le, " "); $tamCD = substr($le,$posP+1,$posU-$posP); $tamCD = int(($tamCD*2048)/(1024*1024)); } } raya; print $le, "\n"; print "\ La capacidad del CD es de: $tamCD MBytes \n"; raya; exit; } } if ($#ARGV < 1) { system("clear"); raya; print "\ Uso:". "\n\t quemarcd -d <lista de directorios>\n" . "\n\t quemarcd -o <imagen.iso>\n" . "\n\t quemarcd -b <-> borrado rapido de un CD-RW\n" . "\n\t quemarcd -i <-> informacion del CD\n\a"; raya; } else { $flag = shift(); $valor = shift(); raya; if ($flag eq "-d") { while ($tmp = shift()) { $valor = $valor . " $tmp"; } print "genisoimage -R -hide-rr-moved -J -o imagenCD.iso $valor \n\n"; system("genisoimage -R -hide-rr-moved -J -o imagenCD.iso $valor"); print "\n Creada la imagen de CD como imagenCD.iso \n\n"; print "Preparado para quemar CD $valor... (s/n):"; my $resp = <STDIN>; chop($resp); if ($resp eq "s") { print "wodim -v -eject dev=/dev/sr0 -data imagenCD.iso \n\n"; system("wodim -v -eject dev=/dev/sr0 -data imagenCD.iso"); } } elsif ($flag eq "-o") { print "Preparado para quemar CD $valor...\n\n"; print "wodim -v -eject dev=/dev/sr0 -data $valor \n\n"; system("wodim -v -eject dev=/dev/sr0 -data $valor"); } else { print "Error: $flag -> opcion invalida! Abortando...\n\n"; exit(0); } print "\n\n Terminando con la tarea\n"; raya; }