Page 1 sur 1
[R] Créer image DVD au format ISO 9660 sous Mkisofs
Posté : dim. 16 juin 2013 08:48
par ELGAMALI
Bonsoir,
Voici une méthode simple que vous pouvez intégrer à vos applications.
Info: Mkisofs est un utilitaire en mode console qui permet de créer des images USB/DVD/DISQUES au format ISO. Mkisofs est disponible sous Linux, BSD et Windows.
Pour créer une image iso d’une source DVD avec mkisofs, tapez cette ligne de commande :
Code : Tout sélectionner
"mkisofs -max-iso9660-filenames –o /chemin/image2.iso source=(Lecteur DVD)"
mkisofs -max-iso9660-filenames -o /Image.iso K: ;k=Lecteur DVD
Vous trouverez aussi une autre méthode qui est silencieuse mais encore une fois il faut que notre ami PandiPanda la remette en ordre notamment pour que la source (k=Lecteur DVD) soit détectable automatiquement (DriveStatus). Une barre de progression va lui donne un aspect professionnel.
► Afficher le texte
Code : Tout sélectionner
#include <Process.au3>
;_RunDos("mkisofs -max-iso9660-filenames -o /dvd6.iso K:") ; [color=#0040FF]ne marche pas[/color]
;======================
Local $aArray = DriveGetDrive("CDROM")
If @error Then
Else
For $i = 1 To $aArray[0]
;MsgBox(4096, "DriveGetDrive", "Drive " & $i & "/" & $aArray[0] & ":" & @CRLF & StringUpper($aArray[$i]))
Local $sStatus = DriveStatus($aArray[$i] & "\")
;MsgBox(4096, "Status", $sStatus)
Copycd()
Next
EndIf
Copycd()
Func Copycd(); copie dvd to iso
Local $program = @TempDir&("\mkisofs.exe")
Local $Option = "-max-iso9660-filenames -o"
Local $fileIso = @TempDir&("/dvd6.iso")
Local $param = $Option&" "&$fileIso&" ""k:" ; Là marche !!!!!!
;Local $param = $Option&" "&$fileIso&" "[color=#0040FF]$sStatus[/color] ; [color=#0040FF] ne marche pas Bahhhhh[/color]
ShellExecute($program,$param);,"","",@SW_HIDE)
EndFunc
Merci pour votre aide
Re: [R Créer image DVD au format ISO 9660 sous Mkisofs
Posté : dim. 16 juin 2013 12:15
par ELGAMALI
Bonjour,
Enfin j'ai pu corriger l'erreur du dit script, il reste uniquement la barre de progression pour finaliser ce tuto.
► Afficher le texte
#include <Process.au3>
;=====================================
global $list,$drv,$lect,$Nam
$list = ProcessList()
For $j=1 to $list[0][0]
$i=0
Next
;=======================================
;While 1
$list=ProcessList()
$drv=DriveGetDrive("CDROM")
for $j=1 to $drv[0]
Select
;=======================================
Case DriveStatus($drv[$j] & "\")="READY"
Local $sStatus = "READY"
if $sStatus ="READY" Then
;msgbox(0,"taille ",DriveStatus($drv[$j]))
Copycd()
EndIf
$lect=$drv[$j]
for $j=1 to $list[0][0]
next
Case Else
EndSelect
Next
;Wend
;======================================
;Copycd()
Func Copycd(); copie dvd to iso
Local $program = @TempDir&("\mkisofs.exe")
Local $Option = "-max-iso9660-filenames -o"
Local $fileIso = @TempDir&("/dvd6.iso")
;Local $param = $Option&" "&$fileIso&" ""k:" ; Là marche !!!!!!
;msgbox(0,"taille ",DriveStatus($drv[$j]))
Local $param = $Option&" "&$fileIso&" "&$drv[$j] ;marche aussi
ShellExecute($program,$param);,"","",@SW_HIDE)
;ShellExecute($program,$param,"","",@SW_HIDE); installation silancieuse: ni vu ni connu
EndFunc
Je compte sur vous.
A+
Re: [..] Créer image DVD au format ISO 9660 sous Mkisofs
Posté : dim. 16 juin 2013 15:12
par jguinch
Voilà un exemple de création d'une image ISO de type DVD-Video, avec une barre de progression basique.
Reste à adapter...
► Afficher le textemkisofs progress
Code : Tout sélectionner
#include <Constants.au3>
$cmd = 'mkisofs -dvd-video -V "MONISO" -o "D:\OutputFolder\new.iso" "D:\SOURCE\MONDVD"'
ProgressOn("mkisofs", "Création du fichier ISO")
$foo = Run($cmd, @ScriptDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
While 1
$line = StderrRead($foo)
If @error Then ExitLoop
$output = StringRegExp($line, "(?s)\s+(\d+\.\d+)%", 3 )
If NOT @Error Then
$percent = Int ( $output[ UBound($output) - 1] )
ProgressSet($percent, $percent & " %")
EndIf
sleep(100)
Wend
ProgressSet(100, "Terminé")
Re: [R] Créer image DVD au format ISO 9660 sous Mkisofs
Posté : dim. 16 juin 2013 16:33
par ELGAMALI
Merci jguinch,
Votre exemple de création d'une image ISO de type DVD-Video, avec une barre de progression basique ne marchent pas pour mon script, ou peut être je n’ai pas su l’intégrer avec la commande ShellExecute. C'est pour cela, je voudrai savoir s'il a un moyen d'avoir une barre progression avec la commande ShellExecute en fonction du nombre restant de fichier a déplacé et/ou en fonction d’octet ?
Merci d'avance de vos réponses
Re: [..] Créer image DVD au format ISO 9660 sous Mkisofs
Posté : dim. 16 juin 2013 17:15
par ELGAMALI
Bonjour mikell
Comment adapté votre code ci-joint dans ShellExecute de mon script.
► Afficher le texte
; clé source H:
$destination = @desktopdir & "\test"
If NOT fileExists($destination) Then DirCreate($destination)
_FileCopy("H:\*",$destination) ; syntaxe pour les dossiers (copie le contenu de H: dans le dossier "test")
ShellExecute($destination)
Func _FileCopy($source, $dest)
$oShell = ObjCreate("shell.application")
$oShell.namespace($dest).CopyHere($source,256) ; 256 = affiche la progressbar de windows
EndFunc
Merci beaucoup pour votre aide.
Re: [R] Créer image DVD au format ISO 9660 sous Mkisofs
Posté : dim. 16 juin 2013 21:03
par ELGAMALI
SOS
Tlem, mikell, sylvanie, timmalos, PandiPanda et les autres.
Quoi il n'y a personne qui répond sur ce forum.!!
Où êtes vous?
Ne me dite pas que ce forum commence de perdre de son dynamisme!
« Le vrai courage ne se laisse jamais abattre. » de Fénelon
Re: [..] Créer image DVD au format ISO 9660 sous Mkisofs
Posté : dim. 16 juin 2013 22:24
par jguinch
Quoi il n'y a personne qui répond sur ce forum.!!
Là c'est limite si tu m'insultes pas je trouve !!!
J'ai pris le temps de te répondre avec un code fonctionnel, qui plus est, assez rapidement, mais ça ne te va pas : soit. Tu pourrais au moins faire l'effort d'expliquer pourquoi tu tiens absolument à utiliser ShellExecute plutôt que Run, si c'est ça qui ne convient pas !
Bref, j'avais commencé à préparer une réponse avec ShellExecute, je laisse tomber.
Bon courage pour la suite
Re: [..] Créer image DVD au format ISO 9660 sous Mkisofs
Posté : lun. 17 juin 2013 09:42
par ELGAMALI
Cher jguinch,
La commande ci-dessous, n'est pas faite pour la copie image DVD-Vidéo iso9660, non plus pour les CD-DATA Boot, je l'ai testé plus de 10 fois.
Code : Tout sélectionner
$cmd = 'mkisofs -dvd-video -V "MONISO" -o "D:\OutputFolder\new.iso" "D:\SOURCE\MONDVD"'
Le script de la barre de progression ne répond même pas lors de l’exécution de l'application. Malgré ces constatations, je me suis limité à vous dire, que peut être je n’ai pas su intégrer vos exemples dans Run et non plus dans ShellExecute. Pour celà je vous ai demandé s'il y a un moyen d'avoir une barre de progression avec la commande ShellExecute en fonction du nombre restant de fichier a déplacé et/ou en fonction d’octet ?
Je ne vous ai pas insulté, je vous fait remarquer que mes constatations.
Non je ne vous insulte pas, mais plus tôt je vous pousse à aller de l'avant comme un bon père de famille AutoIT, en plus j'admire toute l'équipe AutoIt qui m'ont donné un nouvel air ...
Cordialement
Re: [..] Créer image DVD au format ISO 9660 sous Mkisofs
Posté : jeu. 20 juin 2013 13:58
par ELGAMALI
SOS
Tlem, mikell, sylvanie, timmalos, PandiPanda et les autres.
Quoi il n'y a personne qui répond sur ce forum.!!
Où êtes vous?
Re: [..] Créer image DVD au format ISO 9660 sous Mkisofs
Posté : ven. 21 juin 2013 20:18
par ELGAMALI
Bonjour à toute la communauté de ce forum
Sans doute ce forum est entrain de perdre son dynamisme (vocation)...
Personne ne répond aux appels des ses adhérents, plus 400 demandes d'aide sont restées sans reponse...!!!???
Ceci n'est pas mes dires mais plutôt la conclusion de plusieurs témoignages requis...
Bref: Voici le scripte complet pour la création de l'image DVD-Vidéo au format iso 9660 avec barre de progression.
► Afficher le texte
#include <Process.au3>
#include <Constants.au3>
;=====================================
global $list,$drv,$lect,$Nam,$foo
$list = ProcessList()
For $j=1 to $list[0][0]
$i=0
Next
;=======================================
;While 1
$list=ProcessList()
$drv=DriveGetDrive("CDROM")
for $j=1 to $drv[0]
Select
;=======================================
Case DriveStatus($drv[$j] & "\")="READY"
Local $sStatus = "READY"
if $sStatus ="READY" Then
;msgbox(0,"taille ",DriveStatus($drv[$j]))
$cmd = 'mkisofs -max-iso9660-filenames -o /Image.iso '
Local $setup=$cmd&" "&$drv[$j]
$foo = Run($setup, @ScriptDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
ProgressOn("mkisofs", "Création du fichier ISO")
EndIf
$lect=$drv[$j]
for $j=1 to $list[0][0]
next
Case Else
EndSelect
Next
;Wend
While 1
$line = StderrRead($foo)
If @error Then ExitLoop
$output = StringRegExp($line, "(?s)\s+(\d+\.\d+)%",3 )
If NOT @Error Then
$percent = Int ( $output[ UBound($output) - 1] )
ProgressSet($percent, $percent & " %")
EndIf
sleep(100)
Wend
ProgressSet(100, "Terminé")
Avec tout le respect que je vous dois.
_____________________________________________
Quand-on-veut-on-peut:
Il faut jamais dire non, c'est impossible avec AutoIt. Là vous avez tort: AutoIt est imbattable il faut le manier avec allégresse et du bon cens. La solution est devant tes yeux mes tu ne la vois pas.
EL GAMALI Abdennasser
Re: [R] Créer image DVD au format ISO 9660 sous Mkisofs
Posté : sam. 22 juin 2013 00:38
par Tlem
ELGAMALI
Si j'utilise votre raisonnement, je dirais que au jour ou j'écris ce message :
Le forum "Aide générale" comporte 5962 sujets.
Le forum "Interface utilisateur (GUI)" comporte 563 sujets.
Le forum "ActiveX/COM" comporte 22 sujets.
Le forum "Demande de création de Scripts" comporte 915 sujets.
Ce qui nous fait un total de 7462 sujets concernant une demande d'aide.
Vous dites que plus de 400 demandes d'aide sont restées sans réponse.
Je ne sait pas d’où vous tenez ce nombre, mais admettons et allons même jusqu'à le multiplier par 2. Ce qui nous donne 800 sujets sans réponses. Cela sous entendrait que 6662 demandes ont été traitées (soit environs 90% des demandes) !!! Ce qui est plus qu'honorable pour un forum bénévole ou les bannières de pub ne vous incommode pas et ou tout un tas de solutions existe déjà pour celui qui veux bien ce donner la peine de faire quelques recherches.
Vous dites aussi que "Personne ne répond aux appels des ses adhérents", mais pendant votre demande, d'autres sujets ont été postés et certains résolu, donc peut être devriez vous vous poser les bonnes questions !
Ceci étant dit et bien que je sache pertinemment que vous allez encore polémiquer ou pire encore, en ce qui me concerne, je ne traiterais plus aucunes de vos demandes, car je n'ai personnellement pas apprécié vos manières sur les différents sujets que j'ai traités pour vous. Et d'après ce que j'ai pu constater, ceci est probablement aussi le cas pour d'autres personnes auquel vous avez fait appel.
Lorsque vous aurez compris qu'il y a l'art et la manière de répondre à quelqu'un qui essaie de vous aider, alors peut être que plus de personnes accepterons de trouver des solutions pour vous.
Re: [R] Créer image DVD au format ISO 9660 sous Mkisofs
Posté : sam. 22 juin 2013 10:34
par ELGAMALI
Tlem
Quand une porte se ferme, une autre s'ouvre.
Ceci n'est pas mes dires mais plutôt la conclusion de plusieurs témoignages requis...
J'ai reçu plus de 30 mails qui témoigne que le forum AutoIT français est en perte de vitesse sur tout les plans...
Et suite à votre écrie plusieurs adhérents de votre site français m'en suggéré de ne plus sollicité votre aide plutôt de les rejoindre sur d'autres forums digne de AutoIt.
D'autre part AutoIt français stagne il n’a plus rien à dire, dommage pour lui.
_________________________________________
Lorsque vous fermez la porte AutoIt français, une autre s'ouvre; mais le faible regarde si souvent la porte fermée qu'il ne voie pas celle qui s'est ouverte pour lui.