problemsolver
Goto Top

ISO Datei für diverse Zwecke erstellen

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!!!

@ECHO OFF & SETLOCAL

:: Rückgabecodes und Ihre Bedeutung in dieser Batchdatei
:: 1 = Der Eingabepfad existiert nicht
:: 2 = Der Ausgabepfad existiert nicht
:: 3 = Die mkisofs.exe fehlt
:: 9 = Vorzeitige Abbruch bei der Kontrolle der Konfigurationsoptionen

SET "MKISOFS=%~dp0mkisofs.exe"  
SET "INPUT_PATH=%~1"  
SET "OUTPUT_PATH=%~dp0"  

:: Die ISO Volumen- und Dateibezeichnung wird tiefer ermittelt, 
:: wenn sichergestellt ist, dass das Verzeichnis auch existiert... ;)
SET "ISO_VOLID="  
SET "ISO_IMAGE="  

::  Logische Überprüfung...
:: Eingabepfad
if "%INPUT_PATH%" EQU "" EXIT 1  
dir /AD "%INPUT_PATH%" >NUL 2>NUL || EXIT 1  

:: Danke an Bastla und miniversum für die nächste Zeile
set "ISO_VOLID=%~nx1" & set "ISO_IMAGE=%~nx1"  

:: Ausgabepfad
if "%OUTPUT_PATH%" EQU "" EXIT 2  
dir /AD "%OUTPUT_PATH%" >NUL 2>NUL || EXIT 2  

:: MKISOFS.exe vorhanden???
if not exist "%MKISOFS%" EXIT 3  

echo Konfigurationsoptionen
echo ********************************************************
echo Pfad zu mkisofs            : %MKISOFS%
echo Eingabepfad                : %INPUT_PATH% 
echo Ausgabepfad                : %OUTPUT_PATH%
echo IsoImage-Dateiname         : %ISO_IMAGE%.iso
echo IsoImage Volumenbezeichnung: %ISO_VOLID%
echo ********************************************************
echo.
set /P ERGEBNIS=[Sind diese Einstellungen richtig? (j/n) ]
if /I "%ERGEBNIS%" NEQ "j" exit 9  
echo Imageerstellung...
:: BugFix: 2009-04-20
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%"  
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%  
echo.
echo Imageerstellung...FERTIG! Beliebige Taste zum Beenden!
pause > NUL

Gruß

Markus

Content-ID: 108903

Url: https://administrator.de/contentid/108903

Ausgedruckt am: 24.11.2024 um 06:11 Uhr

ITwissen
ITwissen 13.02.2009 um 12:17:38 Uhr
Goto Top
Für die, die lieber Klicken wollen, sollte man erwähnen, dass so ziemlich jedes Brennprogramm auch ISO Images anlegen kann.
problemsolver
problemsolver 13.02.2009 um 12:37:40 Uhr
Goto Top
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
bastla
bastla 13.02.2009 um 17:26:09 Uhr
Goto Top
Hallo problemsolver!

Schönes Tutorial! face-smile

Gruß zurück
bastla
miniversum
miniversum 16.02.2009 um 12:47:03 Uhr
Goto Top
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:
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
problemsolver
problemsolver 16.02.2009 um 15:04:18 Uhr
Goto Top
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
68162
68162 13.03.2009 um 12:11:41 Uhr
Goto Top
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-
94451
94451 02.04.2012 um 08:40:07 Uhr
Goto Top
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
bastla
bastla 02.04.2012 um 10:47:27 Uhr
Goto Top
Hallo Roadrunner777!

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

Grüße
bastla
94451
94451 02.04.2012 um 11:02:39 Uhr
Goto Top
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!):
@ECHO OFF & SETLOCAL
chcp 1252>nul

:: Rückgabecodes und Ihre Bedeutung in dieser Batchdatei
:: 1 = Der Eingabepfad existiert nicht
:: 2 = Der Ausgabepfad existiert nicht
:: 3 = Die mkisofs.exe fehlt
:: 9 = Vorzeitige Abbruch bei der Kontrolle der Konfigurationsoptionen

SET "MKISOFS=%~dp0mkisofs.exe"  
SET "INPUT_PATH=%~1"  
SET "OUTPUT_PATH=%~dp0/imgs"  

:: Die ISO Volumen- und Dateibezeichnung wird tiefer ermittelt, 
:: wenn sichergestellt ist, dass das Verzeichnis auch existiert... ;)
SET "ISO_VOLID="  
SET "ISO_IMAGE="  

::  Logische Überprüfung...
:: Eingabepfad
if "%INPUT_PATH%" EQU "" EXIT 1  
dir /AD "%INPUT_PATH%" >NUL 2>NUL || EXIT 1  

:: Danke an Bastla und miniversum für die nächste Zeile
set "ISO_VOLID=%~nx1" & set "ISO_IMAGE=%~nx1"  

:: Ausgabepfad
if "%OUTPUT_PATH%" EQU "" EXIT 2  
dir /AD "%OUTPUT_PATH%" >NUL 2>NUL || EXIT 2  

:: MKISOFS.exe vorhanden???
if not exist "%MKISOFS%" EXIT 3  

:: BugFix: 2009-04-20
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%"  
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%  
Mehr von problemsolverproblemsolverIGEL Thin Client mit Remote Desktop Services (RDS) über Connection Broker verbindenproblemsolver - 5 KommentareproblemsolverVMWARE ESXi5.1 Gastbetriebssysteme besitzen Netzwerkproblemeproblemsolver - 2 KommentareproblemsolverDateien aus Ordnern aus Schattenkopien manuell wiederherstellen bei einer Pfadlänge von mehr als 255 Zeichenproblemsolver - 1 KommentarproblemsolverPPPOE Protokoll im VLAN.problemsolver - 1 Kommentar
Heiß diskutiert
superfun2k24Sophos SFOS 20 DNAT funktioniert nichtsuperfun2k24 - 26 Kommentareuser217Kaufberatung Hardware - Hyper-V Cluster 3 Nodesuser217 - 25 KommentarePharaunIntel-E810 QSFP28 to Mikrotik QSPF+ mit 40Gbit VerbindungPharaun - 24 Kommentareprplemk2Testumgebung bauen (Grundlegend)prplemk2 - 19 KommentareTJ.Hooker74Dom.Admin-Passwort ändern - Auswirkungen auf EX, HCW, AADCTJ.Hooker74 - 15 KommentaremaisenkaiserSwitch ohne STP ins Netzwerkmaisenkaiser - 14 KommentareJudgelgZertifikate in die Exchange Online GAL hochladenJudgelg - 13 KommentareUnluckyProccess1999Creo 4.0 Lizenz Server (LMTOOLS)UnluckyProccess1999 - 13 KommentareleberkaeseFB7590 ISDN Fax-Funktionleberkaese - 12 KommentareSarekHLLegaler Einsatz vom M365 Family in Business-UmgebungSarekHL - 11 KommentaremaxMicrosoft plant für 2025 mehrere Preiserhöhungenmax - 11 KommentareDarkened1645Bildqualität der Windows Remotedesktop-Sitzung verbessernDarkened1645 - 11 Kommentare