PDA

View Full Version : Batch zum Mounten und Ausführen



msrmagnum
18.12.2005, 13:31
Neue Version mit sd4hide...

@echo off
::--------------------------- hier ändern ------------------------------------------
:: Daemon Tool Path
set Daemon=C:\Programme\DAEMON Tools
set sd4hide=C:\Programme\sd4hide

::Only .cue, .iso, .ccd, .bwt, .mds, .cdi, .bin, .nrg
set ISO=I:\Battlefield 2\BF2 DVD.mds

::Game Path
set path_exe=F:\Battlefield 2

::Game EXE
set exe=BF2.exe

::Option +menu 1 +fullscreen 1 (kann vom Desktop Link übernommen werden)
:: Beispiel für "set option=+menu 1 +fullscreen 1"
set option=
::-------------------------------------------------------------------------------------
Echo **************************************
Echo Mounty v1.02 by [MSR]Magnum
Echo **************************************
echo.
echo.

:: unmount old image
Echo unmount old image ...
"%daemon%\daemon.exe" -unmount 0
echo.
echo.

:: mount new image
Echo mount new image ...
"%daemon%\daemon.exe" -mount 0,"%ISO%" -lock -safedisc on -securom on -rmps on
echo.
echo.

:: Hier können .exe gestartet werden z.B sd4hide v1.1
cd /d %sd4hide%
sd4hide.exe -hide
echo.
echo.

:: start game
Echo start game ...
cd /d %path_exe%
%exe% %option%

cd /d %sd4hide%
sd4hide.exe -restore
exit

AnalCobra
18.12.2005, 14:40
Gute Arbeit,
nur die Emulationen müssen nicht umbedingt angeschaltet werden, die werden nur bei gebrannten CD/DVD's benötigt. Wenn man images mounted braucht eigentlich keine Emulation an sein, aber ich hab immer die RMPS an (das grüne DT icon mag ich lieber:D), das ist die Emulation die eigentlich bei den neuen Spielen nur benötigt wird, die anderen sind nur für ganz alte Spiele sinnvoll.

msrmagnum
18.12.2005, 23:25
Hi AnalCobra,
*lol* das mit dem Icon geht mir genau gleich. Ich hoff die Batch kann jemand brauchen...bei uns wird sie schon genutzt. Werd wohl noch ein Gui machen, dass die Paths browsen lässt (für die Faulen unter uns) und gleich einen Shortcut auf den Desktop legt....vielleicht kommt ja Daemon Script mit einer neuen Version. Dann brauchen wir keine Batchs mehr.

Gruss
[MSR]Magnum

virtualcowboy
19.12.2005, 16:38
Hi AnalCobra,
*lol* das mit dem Icon geht mir genau gleich. Ich hoff die Batch kann jemand brauchen...bei uns wird sie schon genutzt. Werd wohl noch ein Gui machen, dass die Paths browsen lässt (für die Faulen unter uns) und gleich einen Shortcut auf den Desktop legt....vielleicht kommt ja Daemon Script mit einer neuen Version. Dann brauchen wir keine Batchs mehr.

Gruss
[MSR]Magnum
Hi
Hört sich ja gut an :)
Sorry für die blöde frage, aber erstellt dein Tool die batch Datei automatisch dann?

mfg
virtualcowboy

msrmagnum
19.12.2005, 17:32
Hi Virtualcowboy,

geplannt hab ich es mal: *g*

Path auswählen von DT,ISO und exe -> Spuckt Batch Datei auf Desktop aus.
Bonus wäre:
-Icon von Exe übernehmen und Batch to Exe compilieren.

Aber eigentlich würde ich gerne Daemon Script benutzen und nichts selber basteln. Anti Blaxx Tool hätte die Funktion auch schon integriert, mit einer Exe das richtige Iso zu mounten. Ich hab für unseren Clan die Batch bereitgestellt. Nun jammer aber alle rum, dass man die Path von Hand eingeben muss. Hab aber momentan keine zeit um ein GUI zu machen. Kennst du ein anderes Programm, wie DaemonScript, dass mit DT4 läuft?

Gruss
Magnum

virtualcowboy
20.12.2005, 18:36
Hi Magnum

Leider kenne ich solche programme nicht, und deshalb habe ich ja auch gehoft das Du das machst. Wenn das alles möglich währe, währe es natürlich eine super sache. Irgendwann hast Du bestimmt mal zeit ;) Sagen wir so ich hoffe es :)

Nochmal kurz ne frage zu Deiner batch datei.
Wieso unmountet sie zuerst dan mountet sie, und danach gibst kein Ico im Systray ?
Die Image ist zwar im CD laufwerk eingelegt und es funzt auch alles super, bis auf das das ich DT von hand starten muß, weil ich ja kein Ico im Systray habe. Ist das normal ?
Ist es möglich mit dieser batch datei gleichzeitig auch noch ne andere .exe zu starten ?
Wenn ja wie ?

was muß ich hier eintragen das spielläuft automatisch im Vollbild modus ?

"::Option ("F:\Battlefield 2\BF2.exe" +menu 1 +fullscreen 1)
set option=+menu 1 +fullscreen 1 "


Danke nochmal für die antwort.

mfg
virtualcowboy

LocutusofBorg
20.12.2005, 21:04
DaemonScript ist in der neuen Version bereits fertig und wird
im Laufe der Woche hier released!

msrmagnum
21.12.2005, 11:14
Hi VirtualCowboy

Um das TrayIcon hab ich mich gar nicht gekümmert. DT läuft be mir immer.(Autostart). Du musst DT4 nicht beenden um die Batch zu starten.

Ist es möglich mit dieser batch datei gleichzeitig auch noch ne andere .exe zu starten ?
Wenn ja wie ?

Klar, du kannst alles ausführen was du willst. Du sprichts "sd4hide.exe" an? Ich weiss nicht, ob das Tool irgendwelche options hat?

z.B.
C:\programme\s4hide\sd4hide.exe

Wo? Irgendwo vor

cd /d %path%
%exe% %option%
exit

in der Batch


was muß ich hier eintragen das spielläuft automatisch im Vollbild modus ?
"::Option ("F:\Battlefield 2\BF2.exe" +menu 1 +fullscreen 1)
set option=+menu 1 +fullscreen 1 "

Die Optionen gehören zum Game! Viele Spiele brauchen keine, einfach leer lassen! Aber manche Spiel haben solche Zusätze oder Mod Erweiterungen Z.B.
Battlefield 2 Spezial Forces. Schau dir den original Link auf dem Desktop an.
+menu 1 +fullscreen 1 +modPath mods/xpack +ignoreAsserts 1


bye
[MSR]Magnum

virtualcowboy
21.12.2005, 18:11
@msrmagnum
Danke für die antwort, funktioniert einwandfrei :). Danke
Ich habe Battlefield 2 (Ist das ein gutes Spiel ? Sorry für die blöde frage. )nicht, es ging mehr darum noch einen Trainer mit ein zubinden, damit die Kids es etwas leichter beim spielen haben.

@LocutusofBorg
Danke für den Tip, habe ja gar nicht gewusst was ihr für tolle sachen hier habt. Ich weiß schon, wer lesen kann, ist klar im vorteil ;)


mfg
virtualcowboy

Sanitoeter No1
27.04.2006, 15:11
Weiß nich, ob das jemand braucht, allerdings hab ich mal schon so ein Tool gemacht.(Allerdings nur .hta mit VBScript) Einfach den Text kopieren und in einer .hta-Datei speichern. Wichtig: .hta und nicht .htm !!! Darunter kommt Part 2

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<title>Daemon-Tools Batch-Mounter Creator v2.0 by Sanitoeter No1</title>
<HTA:APPLICATION
ID = "DTBMC"
APPLICATIONNAME = "DTBMC"
BORDER = "thin"
CAPTION = "yes"
SHOWINTASKBAR = "yes"
SINGLEINSTANCE = "no"
SYSMENU = "yes"
WINDOWSTATE = "normal"
SCROLL = "no"
SCROLLFLAT = "yes"
VERSION = "2.0"
INNERBORDER = "yes"
SELECTION = "no"
MAXIMIZEBUTTON = "no"
MINIMIZEBUTTON = "yes"
NAVIGABLE = "No"
CONTEXTMENU = "yes"
ICON = "IDG.ICO"
BORDERSTYLE = "normal" />
<style type="text/css">
body {background-color:buttonface; font-family: verdana,arial,helvetica,sans-serif; font-size: 70%;}
</style>
<script type="text/VBScript">
self.resizeTo 600, 305
Set FS = CreateObject("Scripting.FileSystemObject")
Dim EXE(1)

Sub CreateBatch
' Deklariert ein paar Variablen
Set WSH = CreateObject("WScript.Shell")
Set Umgebung = WSH.Environment("PROCESS")

Desktop = WSH.SpecialFolders("Desktop") & "\"

DT = document.getElementById("dtpath").value
ImageFile0 = document.getElementById("ipath0").value
ImageFile1 = document.getElementById("ipath1").value
ImageFile2 = document.getElementById("ipath2").value
ImageFile3 = document.getElementById("ipath3").value
Game0 = document.getElementById("gpath0").value
Game1 = document.getElementById("gpath1").value
Parameter0 = document.getElementById("param0").value
Parameter1 = document.getElementById("param1").value

' Kontrolliert, ob die Textfelder ordnungsgem&#228;&#223; gef&#252;llt sind und die Pfade existieren
If DT = "" Then
MsgBox "Der Pfad zu Daemon-Tools wurde nicht angegeben!", vbExclamation
Exit Sub
Else
If FS.FileExists(DT) = False Then
MsgBox "Der Pfad von Daemon Tools wurde nicht gefunden!",vbExclamation
Exit Sub
End If
End If

If ImageFile0 = "" Then
MsgBox "Der Pfad zu Image 0 wurde nicht angegeben!", vbExclamation
Exit Sub
ElseIf not ImageFile0 = "" or not ImageFile1 = "" or not ImageFile2 = "" or not ImageFile3 = "" Then
If not document.getElementById("ipath0").value = "" Then
If FS.FileExists(ImageFile0) = False Then
MsgBox "Der Pfad von Image 0 wurde nicht gefunden!", vbExclamation
Exit Sub
End If
End If

If not document.getElementById("ipath1").value = "" Then
If FS.FileExists(ImageFile1) = False Then
MsgBox "Der Pfad von Image 1 wurde nicht gefunden!", vbExclamation
Exit Sub
End If
End If

If not document.getElementById("ipath2").value = "" Then
If FS.FileExists(ImageFile2) = False Then
MsgBox "Der Pfad von Image 2 wurde nicht gefunden!", vbExclamation
Exit Sub
End If
End If

If not document.getElementById("ipath3").value = "" Then
If FS.FileExists(ImageFile3) = False Then
MsgBox "Der Pfad von Image 3 wurde nicht gefunden!", vbExclamation
Exit Sub
End If
End If
End If
Dim dlllock,laserlock, safedisc, securom, rmps
If document.getElementById("dlllock").checked = True Then
dlllock = "-lock "
Else
dlllock = ""
End If

If document.getElementById("laserlock").checked = True Then
laserlock = "on"
Else
laserlock = "off"
End If

If document.getElementById("safedisc").checked = True Then
safedisc = "on"
Else
safedisc = "off"
End If

If document.getElementById("securom").checked = True Then
securom = "on"
Else
securom = "off"
End If

If document.getElementById("rmps").checked = True Then
rmps = "on"
Else
rmps = "off"
End If

' Fragt den Namen der Batch-Datei ab und vollst&#228;ndigt gegebenenfalls die Pfade
Name = InputBox("Unter welchem Namen soll die Datei gespeichert werden?","Name eingeben",FS.GetBaseName(ImageFile0))
If not Name = "" Then
If not FS.GetExtensionName(Name) = "bat" Then
Name = Name & ".bat"
End If

' Schreibt die Batch-Datei auf den Desktop
Set ausgabe = FS.CreateTextFile(Desktop & Name)
With ausgabe
.WriteLine "CLS"
.WriteLine "@echo off"
.WriteLine "Echo ************************************************** *****************"
.WriteLine "Echo Daemon-Tools Batch-Mounter Creator Version 2.0 by Sanitoeter No1"
.WriteLine "Echo ************************************************** *****************"
End With
If not document.getElementById("ipath0").value = "" Then
With ausgabe
.WriteLine "Echo."
.WriteLine "Echo Leere Laufwerk 0 ..."
.WriteLine CHR(34) & DT & CHR(34) & " -unmount 0"
End With
End If
If not document.getElementById("ipath1").value = "" Then
With ausgabe
.WriteLine "Echo."
.WriteLine "Echo Leere Laufwerk 1 ..."
.WriteLine CHR(34) & DT & CHR(34) & " -unmount 1"
End With
End If
If not document.getElementById("ipath2").value = "" Then
With ausgabe
.WriteLine "Echo."
.WriteLine "Echo Leere Laufwerk 2 ..."
.WriteLine CHR(34) & DT & CHR(34) & " -unmount 2"
End With
End If
If not document.getElementById("ipath3").value = "" Then
With ausgabe
.WriteLine "Echo."
.WriteLine "Echo Leere Laufwerk 3 ..."
.WriteLine CHR(34) & DT & CHR(34) & " -unmount 3"
End With
End If
If not document.getElementById("ipath0").value = "" Then
With ausgabe
.WriteLine "Echo."
.WriteLine "Echo Mounte Image " & CHR(34) & FS.GetFileName(ImageFile0) & CHR(34) & " ..."
.WriteLine CHR(34) & DT & CHR(34) & " -mount 0," & CHR(34) & ImageFile0 & CHR(34) & " " & dlllock & "-laserlock " & laserlock & " -safedisc " & safedisc & " -securom " & securom & " -rmps " & rmps
End With
End If
If not document.getElementById("ipath1").value = "" Then
With ausgabe
.WriteLine "Echo."
.WriteLine "Echo Mounte Image " & CHR(34) & FS.GetFileName(ImageFile0) & CHR(34) & " ..."
.WriteLine CHR(34) & DT & CHR(34) & " -mount 1," & CHR(34) & ImageFile0 & CHR(34) & " " & dlllock & "-laserlock " & laserlock & " -safedisc " & safedisc & " -securom " & securom & " -rmps " & rmps
End With
End If
If not document.getElementById("ipath2").value = "" Then
With ausgabe
.WriteLine "Echo."
.WriteLine "Echo Mounte Image " & CHR(34) & FS.GetFileName(ImageFile0) & CHR(34) & " ..."
.WriteLine CHR(34) & DT & CHR(34) & " -mount 2," & CHR(34) & ImageFile0 & CHR(34) & " " & dlllock & "-laserlock " & laserlock & " -safedisc " & safedisc & " -securom " & securom & " -rmps " & rmps
End With
End If
If not document.getElementById("ipath3").value = "" Then
With ausgabe
.WriteLine "Echo."
.WriteLine "Echo Mounte Image " & CHR(34) & FS.GetFileName(ImageFile0) & CHR(34) & " ..."
.WriteLine CHR(34) & DT & CHR(34) & " -mount 3," & CHR(34) & ImageFile0 & CHR(34) & " " & dlllock & "-laserlock " & laserlock & " -safedisc " & safedisc & " -securom " & securom & " -rmps " & rmps
End With
End If
If not document.getElementById("gpath0").value = "" Then
With ausgabe
.WriteLine "Echo."
.WriteLine "Echo Starte " & CHR(34) & FS.GetFileName(Game0) & CHR(34) & " ..."
.WriteLine CHR(34) & Game0 & CHR(34) & " " & Parameter0
End With
End If
If not document.getElementById("gpath1").value = "" Then
With ausgabe
.WriteLine "Echo."
.WriteLine "Echo Starte " & CHR(34) & FS.GetFileName(Game1) & CHR(34) & " ..."
.WriteLine CHR(34) & Game1 & CHR(34) & " " & Parameter1
End With
End If
If document.getElementById("autounmount0").checked = True and not document.getElementById("gpath0").value = "" or not document.getElementById("gpath1").value = "" Then
With ausgabe
.WriteLine "Echo."
.WriteLine "Echo Leere Laufwerk 0 ..."
.WriteLine CHR(34) & DT & CHR(34) & " -unmount 0"
End With
End If
If document.getElementById("autounmount1").checked = True and not document.getElementById("gpath0").value = "" or not document.getElementById("gpath1").value = "" Then
With ausgabe
.WriteLine "Echo."
.WriteLine "Echo Leere Laufwerk 1 ..."
.WriteLine CHR(34) & DT & CHR(34) & " -unmount 1"
End With
End If
If document.getElementById("autounmount2").checked = True and not document.getElementById("gpath0").value = "" or not document.getElementById("gpath1").value = "" Then
With ausgabe
.WriteLine "Echo."
.WriteLine "Echo Leere Laufwerk 2 ..."
.WriteLine CHR(34) & DT & CHR(34) & " -unmount 2"
End With
End If
If document.getElementById("autounmount3").checked = True and not document.getElementById("gpath0").value = "" or not document.getElementById("gpath1").value = "" Then
With ausgabe
.WriteLine "Echo."
.WriteLine "Echo Leere Laufwerk 3 ..."
.WriteLine CHR(34) & DT & CHR(34) & " -unmount 3"
End With
End If
With ausgabe
.WriteLine "Exit"
.close()
End With
End If
End Sub

Sanitoeter No1
27.04.2006, 15:14
Hier Part 2

Sub Load
' Liest den gespeicherten Inhalt der DTBMC.ini ein
If FS.FileExists("DTBMC.ini") = True Then
Set datei = FS.OpenTextFile("DTBMC.ini")
document.getElementById("dtpath").value = datei.ReadLine()
document.getElementById("ipath0").value = datei.ReadLine()
document.getElementById("ipath1").value = datei.ReadLine()
document.getElementById("ipath2").value = datei.ReadLine()
document.getElementById("ipath3").value = datei.ReadLine()
document.getElementById("gpath0").value = datei.ReadLine()
document.getElementById("gpath1").value = datei.ReadLine()
document.getElementById("param0").value = datei.ReadLine()
document.getElementById("param1").value = datei.ReadLine()
document.getElementById("autounmount0").checked = datei.ReadLine()
document.getElementById("autounmount1").checked = datei.ReadLine()
document.getElementById("autounmount2").checked = datei.ReadLine()
document.getElementById("autounmount3").checked = datei.ReadLine()
document.getElementById("dlllock").checked = datei.ReadLine()
document.getElementById("laserlock").checked = datei.ReadLine()
document.getElementById("rmps").checked = datei.ReadLine()
document.getElementById("safedisc").checked = datei.ReadLine()
document.getElementById("securom").checked = datei.ReadLine()
End If
End Sub

Sub SavePaths
' Speichert die Inhalte der Textfelder in die DTBMC.ini
Set ausgabe = FS.CreateTextFile("DTBMC.ini")

With ausgabe
.WriteLine document.getElementById("dtpath").value
.WriteLine document.getElementById("ipath0").value
.WriteLine document.getElementById("ipath1").value
.WriteLine document.getElementById("ipath2").value
.WriteLine document.getElementById("ipath3").value
.WriteLine document.getElementById("gpath0").value
.WriteLine document.getElementById("gpath1").value
.WriteLine document.getElementById("param0").value
.WriteLine document.getElementById("param1").value
.WriteLine document.getElementById("autounmount0").checked
.WriteLine document.getElementById("autounmount1").checked
.WriteLine document.getElementById("autounmount2").checked
.WriteLine document.getElementById("autounmount3").checked
.WriteLine document.getElementById("dlllock").checked
.WriteLine document.getElementById("laserlock").checked
.WriteLine document.getElementById("rmps").checked
.WriteLine document.getElementById("safedisc").checked
.WriteLine document.getElementById("securom").checked
End With

End Sub
</script>
</head>

<!-- Nur noch ein wenig HTML-Code -->
<body onLoad="Load" onUnLoad="SavePaths">
<table border="0" style="width:100%">
<tr><td colspan="2">Pfad zu Daemon-Tools:</td></tr>
<tr><td colspan="2" style="white-space:nowrap;"><input type="text" id="dtpath" title="Der Pfad zur Daemon Tools Installation, z.B. C:\Programme\Daemon Tools\daemon.exe" style="font-size:100%; width:99%;"></td></tr>
<tr><td colspan="2">Pfade zu den Images:</td></tr>
<tr><td colspan="2"><span title="Virtuelles Laufwerk 0">0</span>&nbsp;<input type="text" id="ipath0" title="Der Pfad zum Image, das in Laufwerk 0 gemountet werden soll, z.B. C:\Images\BF2.cue" style="font-size:100%; width:93.5%;"><input type="checkbox" id="autounmount0" title="Unmountet das Image nach Beenden der Anwendung wieder"></td></tr>
<tr><td colspan="2"><span title="Virtuelles Laufwerk 1">1</span>&nbsp;<input type="text" id="ipath1" title="Der Pfad zum Image, das in Laufwerk 1 gemountet werden soll, z.B. C:\Images\BF2.cue" style="font-size:100%; width:93.5%;"><input type="checkbox" id="autounmount1" title="Unmountet das Image nach Beenden der Anwendung wieder"></td></tr>
<tr><td colspan="2"><span title="Virtuelles Laufwerk 2">2</span>&nbsp;<input type="text" id="ipath2" title="Der Pfad zum Image, das in Laufwerk 2 gemountet werden soll, z.B. C:\Images\BF2.cue" style="font-size:100%; width:93.5%;"><input type="checkbox" id="autounmount2" title="Unmountet das Image nach Beenden der Anwendung wieder"></td></tr>
<tr><td colspan="2"><span title="Virtuelles Laufwerk 3">3</span>&nbsp;<input type="text" id="ipath3" title="Der Pfad zum Image, das in Laufwerk 3 gemountet werden soll, z.B. C:\Images\BF2.cue" style="font-size:100%; width:93.5%;"><input type="checkbox" id="autounmount3" title="Unmountet das Image nach Beenden der Anwendung wieder"></td></tr>
<tr><td colspan="2">Pfade zu den Anwendungen (Optional):<span style="margin-left:42%;">Parameter:</span></td></tr>
<tr><td colspan="2" style="white-space:nowrap;"><span title="Anwendung 0">0</span>&nbsp;<input type="text" id="gpath0" title="Die Anwendung, die gestartet werden soll, z.B. C:\Programme\BF2\bf2.exe" style="font-size:100%; width:77.5%; margin-right:1%;"><input type="text" id="param0" style="font-size:100%; width:16.8%;"></td></tr>
<tr><td colspan="2" style="white-space:nowrap;"><span title="Anwendung 1">1</span>&nbsp;<input type="text" id="gpath1" title="Die Anwendung, die gestartet werden soll, z.B. C:\Programme\BF2\bf2.exe" style="font-size:100%; width:77.5%; margin-right:1%;"><input type="text" id="param1" style="font-size:100%; width:16.8%;"></td></tr>
<tr><td colspan="2" align="right"><button onClick="CreateBatch" style="font-size:112%; float:left;">Erstellen</button> <input type="checkbox" id="dlllock" title="Daemon Tools-DLL sichern oder nicht" style="clear:float"> DLL sichern <input type="checkbox" id="laserlock" title="LaserLock-Emulation an-/abschalten"> LaserLock <input type="checkbox" id="rmps" title="RMPS an-/abschalten"> RMPS <input type="checkbox" id="safedisc" title="Safedisc-Emulation an-/abschalten"> Safedisc <input type="checkbox" id="securom" title="Securom-Emulation an-/abschalten"> Securom</td></tr>
</table></body></html>