Bien que MacImage soit une application Windows, avec une interface utilisateur
graphique, il existe des situations où la ligne de commande reste intéressante
en raison de sa puissance, de sa concision et de la possibilité de répéter des
traitements identiques un nombre de fois quelconque.
Puisque MacImage a enregistré ses extensions (*.mipr, *.hfs et *.isop) auprès de
Windows, lorsque vous effectuer un double clic sur l'un des fichiers portant
cette extension, l'Explorateur lance MacImage avec comme ligne de commande le
nom du fichier. Le traitement par défaut est la simple ouverture.
Il est possible et utile d'aller plus loin.
Plusieurs fonctions ont été mises en œuvre :
Attention, les codes de retour donnés après chaque instruction ne sont valables qu'avec la version spéciale de MacImage pour ligne de commande (micl.exe). Le code de résultat 1 est un problème de ligne de commande incohérente.
Exemple de ligne de commande :
macimage -i e:\projets\fichier.mipr c:\temp\dossier\fichier.ext
Cette ligne de commande ouvre (ou crée) un projet sous le nom de fichier.mipr
et y place le fichier c:\temp\dossier\fichier.ext. Si la rubrique à inclure est
un dossier, tous les fichiers et sous-dossiers sont également inclus.
Il est possible de donner sur la ligne de commande un nom de fichier qui contient
la liste des fichiers ou dossiers à inclure (avec leur chemin d'accès complet).
Exemple de ligne de commande :
macimage -i e:\projets\fichier.mipr $c:\temp\dossier\fichier.ext
Notez bien dans ce cas la présence du caractère dollar devant le nom de
fichier, pour indiquer au programme qu'il s'agit d'un fichier de liste.
Codes de résultat (uniquement avec micl.exe) :
0 - Réussite.
-1 - Impossible d'ouvrir le fichier de projet.
-2 - Impossible d'ouvrir le fichier de liste.
-3 - L'élément à inclure n'est ni un fichier, ni un dossier.
Exemple de ligne de commande :
macimage -ii e:\projets\file.mipr c:\temp\folder\*.*
Cette ligne de commande inclut la totalité du contenu du dossier appelé
"folder" au projet spécifié, mais uniquement dans la vue ISO. Notez bien
l'emploi de la syntaxe "*.*". Vous pourriez de la même manière utiliser une
chaîne "*.doc" ou similaire.
Pour les codes de résultat, voir ci-dessus.
Exemple de ligne de commande :
macimage -ih e:\projets\file.mipr c:\temp\mac\*.*
De manière correspondante, cette ligne de commande inclut le contenu du dossier
appelé "mac" dans la vue HFS du projet.
Pour les codes de résultat, voir ci-dessus.
Exemple de ligne de commande :
macimage -l e:\projets\file.mipr "Nom avec espaces"
Cet exemple de ligne de commande nomme les deux vues.
Il existe également une variante '-li' pour ne nommer que la vue ISO et '-lh'
pour ne nommer que la vue HFS.
Codes de résultat (uniquement avec micl.exe) :
0 - Réussite.
-1 - Impossible d'ouvrir le fichier de projet.
Exemple de ligne de commande :
macimage -f e:\projects\file.mipr "Name with spaces/folder2"
Cette instruction crée les deux dossiers dans les deux vues. Il est donc
possible de créer une séquence quelconque de dossiers.
Il existe également une variante '-fi' pour ne créer les dossiers que dans la
vue ISO et '-fh' pour ne le faire que dans la vue HFS.
Codes de résultat (uniquement avec micl.exe) :
0 - Réussite.
-1 - Impossible d'ouvrir le fichier de projet.
Il arrive fréquemment que le contenu des dossiers ou fichiers d'origine évolue
avec le temps.
La version interactive de MacImage offre à cet effet deux solutions : une
fonction de rafraîchissement du projet, une option de reconstruction du projet
et une option de rafraîchissement du contenu des dossiers.
Il existe une ligne de commande pour réaliser la même chose :
macimage -r e:\projets\fichier.mipr
MacImage balaye tout le projet et vérifie que les fichiers et dossiers
sont bien accessibles, enregistre les nouvelles tailles, etc. Dans le cas des
dossiers, MacImage considère que le contenu doit également être mis à jour (comme
si le drapeau de rafraîchissement du contenu était armé).
Une distinction est faite pour le traitement du dossier de la racine. Si le dossier
de la racine provient exclusivement du même dossier sur le disque d'origine de
l'ordinateur, le programme ajoute automatiquement les autres éléments contenus dans
le même dossier. Dans le cas contraire, il considère que les éléments contenus
dans la racine sont isolés et le rafraîchissement ne s'applique qu'aux sous-dossiers.
Avec cette méthode, il est possible par exemple d'inclure des dossiers vides au
moment de la création du projet et de le rafraîchir ensuite juste avant la
compilation (par exemple pour publier régulièrement un CD-ROM dont seul un
dossier change en fonction de l'actualité).
À noter qu'il ne sert à rien de rafraîchir un projet pour y supprimer des fichiers
ou des dossiers. MacImage ignore automatiquement les fichiers et dossiers qui
n'existent plus au moment de la compilation.
Il existe également une version (-rl) où le programme ouvre un fichier journal
pour enregistrer toutes les opérations effectuées.
Codes de résultat (uniquement avec micl.exe) :
0 - Réussite.
-1 - Impossible d'ouvrir le fichier de projet.
Exemple de ligne de commande :
macimage -c e:\projets\fichier.mipr
MacImage ouvre le fichier de projet (fichier.mipr dans l'exemple ci-dessus)
et le compile, en produisant un fichier-image qui porte le nom fichier.iso.
La dernière version offre également la possibilité de compiler en ISO seulement
un projet hybride (avec -ci comme commutateur), et à l'inverse en HFS/HFS+
seulement (avec -ch).
Notez bien par ailleurs que les drapeaux de rafraîchissement (du volume ou des
dossiers) ne sont pas exploités dans la compilation en ligne de commande. Vous
devez utiliser l'option de rafraîchissement ci-dessus.
Codes de résultat (uniquement avec micl.exe) :
0 - Réussite.
-1 - Impossible d'ouvrir le fichier de projet.
-2 - Impossible de créer le fichier de destination.
-4 - Place insuffisante sur le disque.
Exemple de ligne de commande :
macimage -h e:\projets\image.hfs e:\projets\image.iso
MacImage ouvre l'image ISO (image.iso) et lui ajoute l'image HFS (image.hfs).
Codes de résultat (uniquement avec micl.exe):
1 - Réussite
-1 - Impossible d'ouvrir l'image ISO.
-2 - Impossible d'ouvrir l'image HFS.
-3 - L'image ISO est déjà hybride.
-4 - L'image ISO n'est pas une image ISO correcte.
-5 - L'image HFS n'est pas exploitable (on ne peut pas la décomprimer,
ou bien on ne peut pas identifier sa nature).
-6- Erreur à l'ouverture du fichier temporaire pour la décompression.
Il peut parfois être nécessaire ou utile de retirer l'image HFS que l'on a ajoutée
à une image ISO. Tel est le but de cette option.
Exemple de ligne de commande :
macimage -dh e:\projets\image.iso
MacImage ouvre l'image ISO (image.iso) et retire l'image HFS.
Attention : cette fonction ne marche que sur une image dans laquelle
les deux systèmes de fichiers sont séparés (c'est-à-dire sur le résultat de
l'hybridation qui réunit deux images), mais non pas sur une image hybride produite en
mode de projet par MacImage, puisque dans ce cas les fichiers sont partagés entre
les deux systèmes de fichiers.
Codes de résultat (uniquement avec micl.exe):
0 - Réussite
-1 - Impossible d'ouvrir l'image ISO.
-2 - Autres causes d'erreur.
Plusieurs outils existent sur le Macintosh pour produire des images de disques,
d'une part de disques réels et d'autre part de dossiers. Ces images peuvent être
comprimées ou non et chiffrées ou non. Les utilisateurs produisent fréquemment
des images comprimées sans l'avoir réellement voulu. Cela pose des problèmes en
aval, notamment pour la fonction d'hybridation de MacImage, ou plus simplement
si l'on veut ouvrir l'image dans MacImage pour en extraire des fichiers (mode
Partition de MacImage).
Voir également une page plus technique sur les images de
disques Macintosh.
Exemple de ligne de commande :
macimage -dc e:\data\image.hfs e:\data\imgdec.dmg
MacImage ouvre l'image Apple (UDIF) et la décompresse. Le résultat est placé
dans le fichier imgdec.dmg.
MacImage traite les images comprimées en mode ADC, Zlib, Bzlib2, ainsi que les
autres images gérées à l'aide d'un bloc binaire 'koly' et d'un fichier de
ressources 'mish'.
Codes de résultat (uniquement avec micl.exe):
1 - Réussite
-1 - Impossible de traiter l'image comprimée.
-2 - Rien à faire sur cette image (image non comprimée) ou bien impossible
d'ouvrir l'image d'origine ou de destination.
Si vous rajoutez un logiciel de gravure en ligne de commande tel que cdburn.exe ou dvdburn.exe, qui sont distribués par Microsoft dans son Kit de ressources Windows 2003 (ces utilitaires ne s'installent que sous Windows XP et supérieur, mais tournent parfaitement sous Windows 2000), il devient possible de lancer la compilation et la gravure en deux lignes seulement de fichier batch, qui pourraient être :
macimage -c e:\projets\file.mipr
cdburn d: file.iso -speed max
Lorsque le fichier de projet et les fichiers de données sont sur des disques
différents, nous considérons que la racine du disque de données et la racine du
volume créé dans le projet sont identiques. Autrement dit, un fichier qui se
trouve dans la racine du disque de données se trouvera également dans la racine
de l'image.
De manière similaire, si un fichier à inclure se trouve dans un dossier appelé
temp, par exemple e:\temp\file.ext, il apparaîtra dans un dossier appelé
'temp' dans l'image créée.
Par opposition, si le fichier de projet et les fichiers de données se trouvent
sur le même disque, nous soustrayons le chemin d'accès du projet du chemin d'accès
des fichiers de données pour sélectionner le dossier dans lequel apparaîtront les
fichiers de données.
Nous réfléchissons actuellement à la possibilité de placer volontairement un
fichier de données à un niveau prédéterminé de l'arborescence du volume créé. Si vous
avez des idées... merci d'avance.
Une solution trouvée avec l'aide d'un utilisateur :
Le principe est de passer sur le disque contenant les données, de descendre dans
le dossier voulu et d'inclure les fichiers à partir de cet endroit, sans chemin
d'accès. De ce fait, ils vont être inclus dans la racine du projet.
Il faut donc remplacer la ligne suivante :
macimage -i e:\projets\fichier.mipr c:\temp\fichier.ext
par les trois lignes ci-dessous :
c:
cd \temp
macimage -i e:\projets\fichier.mipr fichier.ext
Si vous concaténez plusieurs instructions dans un fichier batch, il est
préférable, et même indispensable, de donner une chemin d'accès complet pour le
fichier de projet et aussi pour les fichiers de données.
Vous éviterez ainsi la mauvaise suprise de créer un fichier de projet à chaque
ligne, étant donné que le programme ne trouve pas le fichier de projet créé à
la ligne précédente.
En ligne de commande, MacImage traite aussi bien les chemins d'accès où une lettre a été attribuée au volume (par exemple Z:\) que les chemins d'accès de type UNC (\\serveur\dossier\\fichier).
MacImage existe également sous une forme d'outil en pure ligne de commande (micl) qui est un peu plus petit (puisqu'il ne comprend pas l'interface graphique utilisateur). Ce programme est inclus dans le programme général d'installation. Faites vos essais avec la version interactive lancée en ligne de commande. Le comportement est strictement identique.