213
DerWoWusste

ISO Datei für diverse Zwecke erstellen

Mitglied: problemsolver
13.02.2009
10:42:32 Uhr
9534 Aufrufe
9 Antworten
Wer schon mal gedacht hat, dass eine ISO-Datei gerade nützlich wäre, aber keine Ahnung hat, wie er sie erstellt, der ist hier genau richtig...
[EDIT: 2009-04-20: BugFix nach "echo Imageerstellung". Löst ein Problem mit dem INPUT_PATH, wenn direkt ein CD-Inhalt als ISO Datei erstellt werden soll...]

Hallo zusammen,

VORWORT:
Dieses Tutorial beschreibt kurz und bündig, wie man aus einem vorhandenen beliebigen Ordner eine ISO-Datei in einem anderen Ordner erstellt.

ANLASS:
...für dieses kurze Tutorial war, dass ich -ohne ein Netzwerk einzurichten- Dateien in einer virtuellen Maschine verwenden wollte (OHNE installierte VMware Tools). Wieso also nicht diesen Vorgang für mich "halbwegs automatisieren????" Und wenn ich schon einmal dabei bin - hier bei Administrator.de wird sich vielleicht auch jemand darüber freuen face-wink

Hierzu benötigt man nur das mkisofs Tool aus der CDRTOOLS Sammlung von Jörg Schilling. Die vorkompilierten Win32-Binaries und die DLLs kann man sich hier herunterladen:
[CDRTOOLS Sammlung]
(Bitte die "DLLS needed by mkisofs" und "cygwin1.dll" herunterladen und mit in das Verzeichnis von mkisofs.exe packen! Danke an bastla hierfür! Ich hatte mit der mkisofs aus den c't Offline Update gearbeitet, die auch so funktionierte... face-wink )


Desweiteren benötigt man meine Batch-Datei (siehe unten), die sicherlich nicht allen Künsten von Biber, bastla, Dani oder sonstigen Pro's (*mal-einen-Gruß-dalass*) hier entspricht, aber dennoch funktionieren dürfte. :-P

Ausführliche Kommentare findet Ihr in dieser Batchdatei, falls Sie euch interessieren. Den anderen sei kurz erläutert, was nun zu tun ist:
  1. mkisofs.exe und diese Batch-Datei in einem Ordner speichern.
  2. ISO-Images werden im Ordner erzeugt, wo auch die Batch-Datei liegt. (Wenn man das ändern möchte, siehe Batch-Datei (SET "OUTPUT_PATH=%~dp0")
  3. Aufruf der Batch-Datei...
      • Entweder die Batch-Datei mit dem Verzeichnisnamen als Parameter von der Konsole starten oder
      • das Verzeichnis per Drag and Drop auf die Batch Datei schieben
      • Wer es "super-komfortabel" haben möchte und der Punkt 3 schon prima funktioniert, der kann man eine Verknüpfung zu dieser Batch-Datei im "SendTo" Ordner legen. Dann ist diese Batch bequem per "Rechte-Maustaste auf einen Ordner" --> Senden An... verfügbar. Hierzu bitte einfach "Start --> Ausführen --> Sendto" ausführen. Bei wem das nicht funktioniert: "%userprofile%\Sendto" .

Ich hoffe, ich konnte jemanden hiermit helfen und dieser Beitrag fristet hier nicht ein "Tutorial-was-so-oder-so-niemand-irgendwann-brauchen-wird" Dasein face-wink

Für Anmerkungen bzw. Kritik bin ich natürlich immer und gerne offen!!!

01.
@ECHO OFF & SETLOCAL 
02.
 
03.
:: Rückgabecodes und Ihre Bedeutung in dieser Batchdatei 
04.
:: 1 = Der Eingabepfad existiert nicht 
05.
:: 2 = Der Ausgabepfad existiert nicht 
06.
:: 3 = Die mkisofs.exe fehlt 
07.
:: 9 = Vorzeitige Abbruch bei der Kontrolle der Konfigurationsoptionen 
08.
 
09.
SET "MKISOFS=%~dp0mkisofs.exe" 
10.
SET "INPUT_PATH=%~1" 
11.
SET "OUTPUT_PATH=%~dp0" 
12.
 
13.
:: Die ISO Volumen- und Dateibezeichnung wird tiefer ermittelt,  
14.
:: wenn sichergestellt ist, dass das Verzeichnis auch existiert... ;) 
15.
SET "ISO_VOLID=" 
16.
SET "ISO_IMAGE=" 
17.
 
18.
::  Logische Überprüfung... 
19.
:: Eingabepfad 
20.
if "%INPUT_PATH%" EQU "" EXIT 1 
21.
dir /AD "%INPUT_PATH%" >NUL 2>NUL || EXIT 1 
22.
 
23.
:: Danke an Bastla und miniversum für die nächste Zeile 
24.
set "ISO_VOLID=%~nx1" & set "ISO_IMAGE=%~nx1" 
25.
 
26.
:: Ausgabepfad 
27.
if "%OUTPUT_PATH%" EQU "" EXIT 2 
28.
dir /AD "%OUTPUT_PATH%" >NUL 2>NUL || EXIT 2 
29.
 
30.
:: MKISOFS.exe vorhanden??? 
31.
if not exist "%MKISOFS%" EXIT 3 
32.
 
33.
echo Konfigurationsoptionen 
34.
echo ******************************************************** 
35.
echo Pfad zu mkisofs            : %MKISOFS% 
36.
echo Eingabepfad                : %INPUT_PATH%  
37.
echo Ausgabepfad                : %OUTPUT_PATH% 
38.
echo IsoImage-Dateiname         : %ISO_IMAGE%.iso 
39.
echo IsoImage Volumenbezeichnung: %ISO_VOLID% 
40.
echo ******************************************************** 
41.
echo. 
42.
set /P ERGEBNIS=[Sind diese Einstellungen richtig? (j/n) ] 
43.
if /I "%ERGEBNIS%" NEQ "j" exit 9 
44.
echo Imageerstellung... 
45.
:: BugFix: 2009-04-20 
46.
if '%INPUT_PATH:~-1%' NEQ '\' "%MKISOFS%" -iso-level 4 -joliet -joliet-long -rational-rock -output "%OUTPUT_PATH%\%ISO_IMAGE%.iso" -volid "%ISO_VOLID%" "%INPUT_PATH%" 
47.
if '%INPUT_PATH:~-1%' EQU '\' "%MKISOFS%" -iso-level 4 -joliet -joliet-long -rational-rock -output "%OUTPUT_PATH%\%ISO_IMAGE%.iso" -volid "%ISO_VOLID%" %INPUT_PATH% 
48.
echo. 
49.
echo Imageerstellung...FERTIG! Beliebige Taste zum Beenden! 
50.
pause > NUL

Gruß

Markus

Mitglied: ITwissen
ITwissen schreibt am 13.02.2009 um 12:17:38 Uhr
Für die, die lieber Klicken wollen, sollte man erwähnen, dass so ziemlich jedes Brennprogramm auch ISO Images anlegen kann.
Mitglied: problemsolver
problemsolver schreibt am 13.02.2009 um 12:37:40 Uhr
Hallo ITWissen...

und Danke für deinen Kommentar. face-smile

Stimmt natürlich! face-wink
Aber mir soll mal ein Brennprogramm eine "2 Klick"-Erstellung (+ein "J"+"Enter") einer ISO Datei nachmachen *lol* (siehe Senden An Menü)

Gruß

Markus
Mitglied: bastla
bastla schreibt am 13.02.2009 um 17:26:09 Uhr
Hallo problemsolver!

Schönes Tutorial! face-smile

Gruß zurück
bastla
Mitglied: miniversum
miniversum schreibt am 16.02.2009 um 12:47:03 Uhr
Gutes Tutorial. Gut kommentierte Batch Datei.
Ich hätte da noch ein oder zwei Verbesserungsvorschläge:

- Die Zeile 21 und 22 könnte man ersetzen durch:
dir /AD "%INPUT_PATH%" >NUL 2>NUL || EXIT 1
Das entsprechende gilt für die Zeilen 29 und 30.
Der Vorteil wäre der, dass man, wenn man die Batch von der Kommandozeile ausführt, nicht in dem Ordner steht der als Ausgangsverzeichnis angegeben ist, sondern da wo man auch vor dem Start der Batchdatei war.

- Wenn man die Zeile 25 wie folgt ändern:
set "ISO_VOLID=%~nx1" & set "ISO_IMAGE=%~nx1"
Dann werden die Namen auch für Verseichnisse mit einem Punkt im Namen richtig übernommen
Mitglied: problemsolver
problemsolver schreibt am 16.02.2009 um 15:04:18 Uhr
Hi miniversum face-smile

Danke für den Hinweis! Du hast natürlich recht... so lässt sich die ISO-Erstellung besser in eine schon vorhandene Batchdatei "einpflegen"... und auf die Sache mit dem "Punkt" wäre ich nicht gekommen... getestet hatte ich nur mit Leerzeichen...

Ich sag herzlich Danke!!! face-smile

Gruß

Markus
Mitglied: -FM-81-
-FM-81- schreibt am 13.03.2009 um 12:11:41 Uhr
Zitat von ITwissen:
Für die, die lieber Klicken wollen, sollte man erwähnen,
dass so ziemlich jedes Brennprogramm auch ISO Images anlegen kann.

Noch eine Lanze für MKISOFS: wer je eine bootfähige ISO mit iso9660_stage_1_5 oder isolinux.bin erstellen wollte, wird merken, das so manches Klicki-Bunti hier versagt, denn es braucht den Parameter
-boot-info-table und den hat meines Wissens nur MKISOFS.

Ansonsten, tolle Anleitung!

MfG, -FM-81-
Mitglied: Roadrunner777
Roadrunner777 schreibt am 02.04.2012 um 08:40:07 Uhr
Hallo ihr,

ist zwar ein sau altes thema, aber für mich ist es eben gerade aktuell!

hat jemand ne idee wie man das abändern müsste, das es auch mit verzeichnissen/dateien funktioniert, die ein umlaut im namen haben?

Vielen Dank
Gruß Roadrunner
Mitglied: bastla
bastla schreibt am 02.04.2012 um 10:47:27 Uhr
Hallo Roadrunner777!

Versuch es mit einem
chcp 1252>nul
in Zeile 2 ...

Grüße
bastla
Mitglied: Roadrunner777
Roadrunner777 schreibt am 02.04.2012 um 11:02:39 Uhr
Hallo bastla,

Vielen Dank für die schnelle Antwort, doch leider kommt bei mir immer noch bei z.B. Stückliste der Name Stückliste raus :/

hier mein CODE (Leicht abgeändert!):
01.
@ECHO OFF & SETLOCAL 
02.
chcp 1252>nul 
03.
 
04.
:: Rückgabecodes und Ihre Bedeutung in dieser Batchdatei 
05.
:: 1 = Der Eingabepfad existiert nicht 
06.
:: 2 = Der Ausgabepfad existiert nicht 
07.
:: 3 = Die mkisofs.exe fehlt 
08.
:: 9 = Vorzeitige Abbruch bei der Kontrolle der Konfigurationsoptionen 
09.
 
10.
SET "MKISOFS=%~dp0mkisofs.exe" 
11.
SET "INPUT_PATH=%~1" 
12.
SET "OUTPUT_PATH=%~dp0/imgs" 
13.
 
14.
:: Die ISO Volumen- und Dateibezeichnung wird tiefer ermittelt,  
15.
:: wenn sichergestellt ist, dass das Verzeichnis auch existiert... ;) 
16.
SET "ISO_VOLID=" 
17.
SET "ISO_IMAGE=" 
18.
 
19.
::  Logische Überprüfung... 
20.
:: Eingabepfad 
21.
if "%INPUT_PATH%" EQU "" EXIT 1 
22.
dir /AD "%INPUT_PATH%" >NUL 2>NUL || EXIT 1 
23.
 
24.
:: Danke an Bastla und miniversum für die nächste Zeile 
25.
set "ISO_VOLID=%~nx1" & set "ISO_IMAGE=%~nx1" 
26.
 
27.
:: Ausgabepfad 
28.
if "%OUTPUT_PATH%" EQU "" EXIT 2 
29.
dir /AD "%OUTPUT_PATH%" >NUL 2>NUL || EXIT 2 
30.
 
31.
:: MKISOFS.exe vorhanden??? 
32.
if not exist "%MKISOFS%" EXIT 3 
33.
 
34.
:: BugFix: 2009-04-20 
35.
if '%INPUT_PATH:~-1%' NEQ '\' "%MKISOFS%" -iso-level 4 -joliet -joliet-long -rational-rock -output "%OUTPUT_PATH%\%ISO_IMAGE%.iso" -volid "%ISO_VOLID%" "%INPUT_PATH%" 
36.
if '%INPUT_PATH:~-1%' EQU '\' "%MKISOFS%" -iso-level 4 -joliet -joliet-long -rational-rock -output "%OUTPUT_PATH%\%ISO_IMAGE%.iso" -volid "%ISO_VOLID%" %INPUT_PATH% 
37.
 
38.
 
mehr ...Ähnliche Beiträge