V.2 ist nun fertig =)
!!!NEU!!!
-download der nerocmd+dlls
-gui zum einstellen von
brenner (cdrom-lws vorselektiert)
cd-speed
cd-typ (daten-cd, s/vcd, image, ordner)
ordner mit zu brennenden dateien
endung der dateien zum brennen
löschen der files nach dem brennen
-kleine helpbox
-einzug der cd nach bestätigen der msgbox mit dem namen des gebrannten files
-txt mit den namen der files, die gebrannt wurden
-import betasettings
der code:
Spoiler anzeigen
;
;NeroCMD AutoBurner V.2
;
;©sc4ry
;
;general settings
#include<guiconstants.au3>
#include<ie.au3>
#include<array.au3>
$ini = "NeroCMD AutoBurner V2.ini"
;import beta-settings if exist
if FileExists(@ScriptDir & "\" & "NeroCMD AutoBurner V2 (beta).ini") then
FileChangeDir(@scriptdir)
RunWait(@comspec & ' /c ren "NeroCMD AutoBurner V2 (beta).ini" "NeroCMD AutoBurner V2.ini"', "", @SW_HIDE)
Else
EndIf
;suche nach bestehender ini, wenn nicht existiert ...
if not FileExists(@scriptdir & "\" & $ini) then
;welcome-box
$OpenGui = GUICreate("NeroCMD AutoBurner V2 by sc4ry", 270, 80)
GUICtrlCreateLabel('This little Programm will burn "1-File-on-1-CD"' & @CRLF & 'you only need the NeroCMD in %programfiles%', 10, 10, 270, 30)
$Ok = GUICtrlCreateButton("&OK", 10, 50, 50)
$help = GUICtrlCreateButton("&Help", 210, 50, 50)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
case $msg = $gui_event_close
Exit
case $msg = $help
MsgBox(64, "Help", "NeroCMD AutoBurner V2 " & @CRLF & @CRLF & "This little Program will help you, to burn different files on CD." & @CRLF & "Till Now it only can burn 1-File or 1-Folder on a CD." & @CRLF & "The Different Formats are:" & @CRLF & @CRLF & "Data-CD:" & @CRLF & "-avi" & @CRLF & "-divx" & @CRLF & "-xvid" & @CRLF & "-*.* (means Folder or anything else, but be careful)" & @CRLF & @CRLF & "SVCD or VCD:" & @CRLF & "-mpg" & @CRLF & "-mpeg" & @CRLF & @CRLF & "Image:" & @CRLF & "-iso" & @CRLF & "-nrg" & @CRLF & "-img" & @CRLF & "-bin" & @CRLF & "-cue" & @CRLF & @CRLF & "... and now have fun" & @CRLF & @CRLF & @CRLF & @CRLF & "greets 2:" & @CRLF & "sh0rty, PsyCore, ttt, beach & Autoit.de")
case $msg = $ok
GUIDelete($OpenGui)
ExitLoop
EndSelect
WEnd
;suche nach NeroCMD.exe
Dim $file = "nerocmd.exe"
Dim $SearchFolder = @ProgramFilesDir
Dim $PathFound
$FSO = ObjCreate("Scripting.FileSystemObject")
Showsubfolders( $FSO.GetFolder($SearchFolder) )
;fehlermeldung wenn nicht gefunden
if not FileExists($pathfound) Then
;erstelle Fehler-GUI
$font = "Times New Roman Fett"
$URL = "http://simpleupload.net/download/83523/NeroCMD.rar.html"
GUICreate("Error", 470, 80)
GUICtrlCreateLabel("NeroCMD was not found on your PC, please install NeroCMD first", 10, 10, 480, 30)
GUICtrlSetFont(-1, "", "", "", $font)
GUICtrlSetColor(-1, 0xff0000)
$download = GUICtrlCreateButton("Download NeroCMD-Package", 150, 50, 180)
;zeige gui
guiSetState(@SW_SHOW)
;buttons
While 1
$msg = GUIGetMsg()
Select
case $msg = $gui_event_close
Exit
case $msg = $download
$oIE = _IECreate ($URL,0,1,1,0)
$oHWND = _IEPropertyGet($oIE, "hwnd")
WinSetState ($oHWND, "", @SW_MAXIMIZE )
Exit
EndSelect
WEnd
Else
EndIf
;erstelle settings-GUI
$Settings = GUICreate("Settings", 270, 200, -1, -1, -1, $WS_EX_ACCEPTFILES)
;official buttons
$ok = GUICtrlCreateButton("&OK", 10, 170, 70)
$cancel = GUICtrlCreateButton("&Cancel", 190, 170, 70)
;1st Tab
GUICtrlCreateTab(0, 0, 270, 165)
$GUISettings = GUICtrlCreateTabItem("Burnsettings")
;Recorder
GUICtrlCreateLabel("Choose your CD-Writer", 10, 30)
$Combo1 = GUICtrlCreateCombo("", 10, 50)
;suche nach brenner/cdrom
$var = DriveGetDrive("cdrom")
if @error Then
MsgBox(16, "Error", "No CD-Writer found")
FileDelete(@scriptdir & "\" & $ini)
exit
Else
For $i = 1 to $var[0]
GUICtrlSetData($Combo1,$var[$i],$var[1])
Next
EndIf
;speed
GUICtrlCreateLabel("Choose CD-Writer Speed", 10, 90)
$Combo2 = GUICtrlCreateCombo("", 10, 110)
GUICtrlSetData(-1, "1|2|4|8|12|16|20|24|32|40|48|52", "48")
;2nd Tab
GUICtrlCreateTab(-1, -1, 270, 165)
GUICtrlCreateTabItem("CD-Settings")
;CDType
GUICtrlCreateLabel("Choose CD Type", 10, 30)
$Combo3 = GUICtrlCreateCombo("", 10, 50)
GUICtrlSetData(-1, "Data-CD|SVCD|VCD|Image")
;3rd Tab
GUICtrlCreateTab(-1, -1, 270, 165)
GUICtrlCreateTabItem("Filesettings")
;BurnDir
GUICtrlCreateLabel("Choose Burning-Dir", 10, 30)
$BurnDir = "C:\Dokumente und Einstellungen\Administrator\Eigene Dateien"
$Input1 = GUICtrlCreateInput($BurnDir, 10, 50, 180)
GUICtrlSetState(-1, $GUI_ACCEPTFILES)
$browse = GUICtrlCreateButton("&Browse", 195, 48, 70)
;FileType
GUICtrlCreateLabel("Choose Extension", 10, 90)
$Combo4 = GUICtrlCreateCombo("", 10, 110)
$FileType = ""
GUICtrlSetData($Combo4, "*.avi|*.divx|*.vxid|*.mpg|*.mpeg|*.iso|*.nrg|*.img|*.bin|*.cue")
;delete File
$checkbox1 = GUICtrlCreateCheckbox("Delete Files?", 160, 110)
;abbruch bei error + IniDelete
if @error then FileDelete(@scriptdir & "\" & $ini)
;"Show"-Schleife
guiSetState(@SW_SHOW)
;Button-Bedingungen
While 1
$msg = GUIGetMsg()
Switch $msg
;"x"-Button
case $gui_event_close
FileDelete(@scriptdir & "\" & $ini)
Exit
;Cancel
Case $cancel
FileDelete(@scriptdir & "\" & $ini)
Exit
;CDType + FileType Combo
Case $Combo3
$auswahl = GUICtrlRead($Combo3)
Switch $auswahl
case "Data-CD"
GUICtrlSetData($Combo4, "")
GUICtrlSetData($Combo4, "*.avi|*.divx|*.xvid|*.*", "*.avi")
case "SVCD"
GUICtrlSetData($Combo4, "")
GUICtrlSetData($Combo4, "*.mpg|*.mpeg", "*.mpg")
case "VCD"
GUICtrlSetData($Combo4, "")
GUICtrlSetData($Combo4, "*.mpg|*.mpeg", "*.mpg")
case "Image"
GUICtrlSetData($Combo4, "")
GUICtrlSetData($Combo4, "*.iso|*.nrg|*.bin|*.cue|*.img", "*.iso")
EndSwitch
;Browse
Case $browse
$browseinput = FileSelectFolder("Please choose your Burning-Folder", "", 2)
GUICtrlSetData($Input1, $browseinput,)
;OK
Case $ok
$recorder = GUICtrlRead($Combo1)
$speed = GUICtrlRead($Combo2)
$BurnDir = GUICtrlRead($Input1)
$FileType = GUICtrlRead($Combo4)
$CdType = GUICtrlRead($Combo3)
IniWrite($ini, "Section1", "Recorder", $recorder)
IniWrite($ini, "Section1", "Speed", $speed)
IniWrite($ini, "Section2", "BurnDir", $BurnDir)
IniWrite($ini, "Section2", "FileType", $FileType)
IniWrite($ini, "Section3", "CD-Type", $CdType)
If GUICtrlRead($checkbox1) = 1 Then
IniWrite($ini, "Section4", "DeleteFiles", "1")
Else
IniWrite($ini, "Section4", "DeleteFiles", "0")
EndIf
GUIDelete($GUISettings)
ExitLoop
Exit
EndSwitch
WEnd
Call("_OperationBurning")
;INI existiert
Else
$PathFound= IniRead($ini, "Nero", "NeroCMD", "")
$inirecorder= IniRead($ini, "Section1", "Recorder", "")
$inispeed = IniRead($ini, "Section1", "Speed", "")
$iniBurnDir = IniRead($ini, "Section2", "BurnDir", "")
$iniFileType = IniRead($ini, "Section2", "FileType", "")
$iniCdType = IniRead($ini, "Section3", "CD-Type", "")
;erstelle GUI
$GUISettings = GUICreate("Settings", 270, 200, -1, -1, -1, $WS_EX_ACCEPTFILES)
;official buttons
$ok = GUICtrlCreateButton("&OK", 10, 170, 70)
$cancel = GUICtrlCreateButton("&Cancel", 190, 170, 70)
;1st Tab
GUICtrlCreateTab(0, 0, 270, 165)
GUICtrlCreateTabItem("Burnsettings")
;Recorder
GUICtrlCreateLabel("Choose your CD-Writer", 10, 30)
$Combo1 = GUICtrlCreateCombo($inirecorder, 10, 50)
;suche nach brenner/cdrom
$var = DriveGetDrive("cdrom")
For $i = 1 to $var[0]
GUICtrlSetData($Combo1,$var[$i],$var[1])
Next
;speed
GUICtrlCreateLabel("Choose CD-Writer Speed", 10, 90)
$Combo2 = GUICtrlCreateCombo("", 10, 110)
GUICtrlSetData(-1, "1|2|4|8|12|16|20|24|32|40|48|52", $inispeed)
;2nd Tab
GUICtrlCreateTab(-1, -1, 270, 165)
GUICtrlCreateTabItem("CD-Settings")
;CDType
GUICtrlCreateLabel("Choose CD Type", 10, 30)
$Combo3 = GUICtrlCreateCombo("", 10, 50)
GUICtrlSetData(-1, "Data-CD|SVCD|VCD|Image", $iniCdType)
;3rd Tab
GUICtrlCreateTab(-1, -1, 270, 165)
GUICtrlCreateTabItem("Filesettings")
;BurnDir
GUICtrlCreateLabel("Choose Burning-Dir", 10, 30)
$Input1 = GUICtrlCreateInput($iniBurnDir, 10, 50, 180)
GUICtrlSetState(-1, $GUI_ACCEPTFILES)
$browse = GUICtrlCreateButton("&Browse", 195, 48, 70)
;FileType
GUICtrlCreateLabel("Choose Extension", 10, 90)
$Combo4 = GUICtrlCreateCombo("", 10, 110)
GUICtrlSetData($Combo4, "*.avi|*.divx|*.vxid|*.mpg|*.mpeg|*.iso|*.nrg|*.img|*.bin|*.cue", $iniFileType)
;delete File
$checkbox1 = GUICtrlCreateCheckbox("Delete Files?", 160, 110)
$deletefiles = IniRead($ini, "Section4", "DeleteFiles", "0")
if $deletefiles = 1 then
GUICtrlSetState($checkbox1, 1)
Else
GUICtrlSetState($checkbox1, -1)
EndIf
;"Show"-Schleife
guiSetState(@SW_SHOW)
;Button-Bedingungen
While 1
$msg = GUIGetMsg()
Switch $msg
;"x"-Button
case $gui_event_close
Exit
;Cancel
Case $cancel
Exit
;CDType + FileType Combo
Case $Combo3
$auswahl = GUICtrlRead($Combo3)
Switch $auswahl
case "Data-CD"
GUICtrlSetData($Combo4, "")
GUICtrlSetData($Combo4, "*.avi|*.divx|*.xvid|*.*", "*.avi")
case "SVCD"
GUICtrlSetData($Combo4, "")
GUICtrlSetData($Combo4, "*.mpg|*.mpeg", "*.mpg")
case "VCD"
GUICtrlSetData($Combo4, "")
GUICtrlSetData($Combo4, "*.mpg|*.mpeg", "*.mpg")
case "Image"
GUICtrlSetData($Combo4, "")
GUICtrlSetData($Combo4, "*.iso|*.nrg|*.bin|*.cue|*.img", "*.iso")
EndSwitch
;Browse
Case $browse
$browseinput = FileSelectFolder("Please choose your Burning-Folder", "", 2, $iniBurnDir)
GUICtrlSetData($Input1, $browseinput,)
;OK
Case $ok
$recorder = GUICtrlRead($Combo1)
$speed = GUICtrlRead($Combo2)
$BurnDir = GUICtrlRead($Input1)
$FileType = GUICtrlRead($Combo4)
$CdType = GUICtrlRead($Combo3)
IniWrite($ini, "Section1", "Recorder", $recorder)
IniWrite($ini, "Section1", "Speed", $speed)
IniWrite($ini, "Section2", "BurnDir", $BurnDir)
IniWrite($ini, "Section2", "FileType", $FileType)
IniWrite($ini, "Section3", "CD-Type", $CdType)
If GUICtrlRead($checkbox1) = 1 Then
IniWrite($ini, "Section4", "DeleteFiles", "1")
Else
IniWrite($ini, "Section4", "DeleteFiles", "0")
EndIf
GUIDelete($GUISettings)
ExitLoop
Exit
EndSwitch
WEnd
Call("_OperationBurning")
EndIf
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];Function "Suche NeroCMD"
Func ShowSubFolders($Folder)
For $Subfolder in $Folder.SubFolders
If FileExists($Subfolder.Path & "\" & $file) Then
$PathFound = $Subfolder.Path & "\" & $file
;schreibe Pfad in ini
IniWrite($ini, "Nero", "NeroCMD", $PathFound)
ExitLoop
EndIf
ShowSubFolders( $Subfolder )
Next
EndFunc
Func _OperationBurning()
;setzt den "aktuellen ordner" (wichtig für FileFindFirstFile)
$path = FileChangeDir($BurnDir)
;starte suche
$search = FileFindFirstFile($FileType)
;Fehlermeldung, falls keine Übereinstimmung
If $search = -1 Then
MsgBox(16, "Error", "No files/directories matched the search pattern")
Exit
EndIf
;suche weiter
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
;starte brennvorgang
If GUICtrlRead($checkbox1) = 1 Then
Select
case $CdType = "Data-CD"
RunWait("""" & $PathFound & """ --write --real --drivename " & $recorder & " --speed " & $speed & " --iso new """ & $BurnDir & "\" & $file & """", "", @SW_HIDE)
;gebe gebranntes file aus
RunWait(@comspec & " /c echo " & $file & ">>burned.txt", "", @SW_HIDE)
FileDelete($BurnDir & "\" & $file)
MsgBox(64, "File was burned & deleted:", $file)
CDTray($recorder, "close")
case $CdType = "VCD"
RunWait("""" & $PathFound & """ --write --real --drivename " & $recorder & " --speed " & $speed & " --videocd new """ & $BurnDir & "\" & $file & """", "", @SW_HIDE)
;gebe gebranntes file aus
RunWait(@comspec & " /c echo " & $file & ">>burned.txt", "", @SW_HIDE)
FileDelete($BurnDir & "\" & $file)
MsgBox(64, "File was burned & deleted:", $file)
CDTray($recorder, "close")
case $CdType = "SVCD"
RunWait("""" & $PathFound & """ --write --real --drivename " & $recorder & " --speed " & $speed & " --svideocd new """ & $BurnDir & "\" & $file & """", "", @SW_HIDE)
;gebe gebranntes file aus
RunWait(@comspec & " /c echo " & $file & ">>burned.txt", "", @SW_HIDE)
FileDelete($BurnDir & "\" & $file)
MsgBox(64, "File was burned & deleted:", $file)
CDTray($recorder, "close")
case $CdType = "Image"
RunWait("""" & $PathFound & """ --write --real --drivename " & $recorder & " --speed " & $speed & " --image new """ & $BurnDir & "\" & $file & """", "", @SW_HIDE)
;gebe gebranntes file aus
RunWait(@comspec & " /c echo " & $file & ">>burned.txt", "", @SW_HIDE)
FileDelete($BurnDir & "\" & $file)
MsgBox(64, "File was burned & deleted:", $file)
CDTray($recorder, "close")
EndSelect
;starte brennvorgang
Else
Select
case $CdType = "Data-CD"
RunWait("""" & $PathFound & """ --write --real --drivename " & $recorder & " --speed " & $speed & " --iso new """ & $BurnDir & "\" & $file & """", "", @SW_HIDE)
;gebe gebranntes file aus
RunWait(@comspec & " /c echo " & $file & ">>burned.txt", "", @SW_HIDE)
MsgBox(64, "File was burned:", $file)
CDTray($recorder, "close")
case $CdType = "VCD"
RunWait("""" & $PathFound & """ --write --real --drivename " & $recorder & " --speed " & $speed & " --videocd new """ & $BurnDir & "\" & $file & """", "", @SW_HIDE)
;gebe gebranntes file aus
RunWait(@comspec & " /c echo " & $file & ">>burned.txt", "", @SW_HIDE)
MsgBox(64, "File was burned:", $file)
CDTray($recorder, "close")
case $CdType = "SVCD"
RunWait("""" & $PathFound & """ --write --real --drivename " & $recorder & " --speed " & $speed & " --svideocd new """ & $BurnDir & "\" & $file & """", "", @SW_HIDE)
;gebe gebranntes file aus
RunWait(@comspec & " /c echo " & $file & ">>burned.txt", "", @SW_HIDE)
MsgBox(64, "File was burned:", $file)
CDTray($recorder, "close")
case $CdType = "Image"
RunWait("""" & $PathFound & """ --write --real --drivename " & $recorder & " --speed " & $speed & " --image new """ & $BurnDir & "\" & $file & """", "", @SW_HIDE)
;gebe gebranntes file aus
RunWait(@comspec & " /c echo " & $file & ">>burned.txt", "", @SW_HIDE)
MsgBox(64, "File was burned:", $file)
CDTray($recorder, "close")
EndSelect
EndIf
WEnd
;beendet die suche
FileClose($search)
MsgBox(64, "Finish", "NeroCMD Autoburner was proudly presented by sc4ry", 3)
EndFunc
PS: das programm ist mal wieder mit viel hilfe von diesem board enstanden. ich nenne mal keine namen, aber nur aus angst, wen zu vergessen =)
altes post
Spoiler anzeigen
es ist zwar nicht die non-plus-ultra-umsetzung, aber es funzt (und die zeit drängte, da meine platte sonst platzt *g*)
der ein oder andere kennt es, dass sich hier und da paar videos oder backup-dateien ansammeln, die sehensüchtig darauf warten, auf cd gepresst zu werden. aber das ist immer soooo umständlich, denn man muss das brenntool starten, die files aussuchen, brennen, bestätigen und weiß der geier was.
also hab ich mich auf die suche gemacht, dies so einfach wie möglich zu machen. "leider" ist dazu nero nötig (bzw 3 dateien) ... ich wollte zwar auch weg von nero, aber es hat dieses schöne tool für die cmd dabei.
naja, nachdem man ein paar angaben gemacht hat, muss man nacher nurnoch die cds wechseln, der rest sollte nun (hoffentlich) von alleine gehen.