CDs automatisch auf HDD kopieren

Diskutiere und helfe bei CDs automatisch auf HDD kopieren im Bereich Software & Treiber im SysProfile Forum bei einer Lösung; Hi, Hab riesen Problem: Ich habe an die 500 CDs/DVDs die langsam aber sicher sich auflösen! Im PC hab ich aber noch gut 1,5TB frei, will also alle... Dieses Thema im Forum "Software & Treiber" wurde erstellt von HackerChris, 3. Januar 2009.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. HackerChris
    HackerChris Lebende CPU
    Registriert seit:
    3. Dezember 2007
    Beiträge:
    1.303
    Zustimmungen:
    95
    Name:
    "nur" Chris ^^
    1. SysProfile:
    163800
    2. SysProfile:
    39431
    65909
    65910
    Steam-ID:
    kesnar

    Hi,
    Hab riesen Problem:
    Ich habe an die 500 CDs/DVDs die langsam aber sicher sich auflösen!
    Im PC hab ich aber noch gut 1,5TB frei, will also alle CDs auf die HDD kopieren!
    Nur das kopieren ist ätzend, also will ich das vereinfachen!


    Ich will das genau das von einem Skript (oder sonstigen) ausgeführt wird:

    1. Testen ob ne CD eingelegt ist (bzw. ob Dateinen im Laufwerk sind)
    2. Dann Daten von Laufwerk in einen speziellen Ordner auf die HDD kopieren (aber testen ob Datei schon vorhanden ist, wenn vorhaden einfach z.B. "2" an Dateinamen anfügen)
    3. Wenn Dateien kopiert sind CD-Laufwerk auswerfen (geht bei mir mit "nircmd.exe cdrom open k:")
    4. und dann wieder alles von vorne (Endlosschleife, die man aber irgendwie auch abbrechen sollte)
    Alle Dateien sollen immer in den selben Ordner auf der HDD kopiert werden!


    Hab schon nach ein paar Sachen gegoogelt, hat aber alles nie geklappt!


    Wäre echt cool wenn mir jemand ein Programm nenen könnte, das das kann! Oder ein einfaches Skipt programmiern :great:
    HackerChirs


    /edit:
    Das z.B. wo ich nicht weiter komme: http://www.aqua-computer-systeme.de/...1197836670 / http://www.aqua-computer-systeme.de/...1197579958 / http://en.wikipedia.org/wiki/Robocopy
     
    #1 HackerChris, 3. Januar 2009
    Zuletzt bearbeitet: 3. Januar 2009
  2. alex
    alex killed in action
    Registriert seit:
    30. Dezember 2006
    Beiträge:
    8.187
    Zustimmungen:
    282
    1. SysProfile:
    63644
    2. SysProfile:
    18897
    40873

    Hab mich mal rangesetzt und etwas programmiert:
    http://alexirsi.czerrahn.de/DiscCopy_0.01.rar

    Installation:
    1) Inhalt des Archivs in einen beliebigen Ordner entpacken
    2) config.ini mit einem Texteditor öffnen und Einträge bearbeiten, z.B.
    3) DiscCopy.exe starten


    Das Programm macht folgendes:

    1) Es prüft, ob eine CD/DVD eingelegt ist -> wenn nicht -> Fehlermeldung + CD-Schacht auswerfen + Programm beenden
    2) Falls eine CD/DVD eingelegt wurde -> wird in den Ordner kopiert, der in der config.ini angegeben wurde (zusätzlich als Unterordner ein Datecode), in meinem Beispiel:
    3) wirft danach die CD aus und beendet das Programm


    Hoffe natürlich, dass ich dir damit weiterhelfen konnte ;)
    Die Progressbar, die während des Kopiervorgangs erscheint ist zweckmäßig, also erwarte nicht zu viel... war eine Programmier-Aktion auf wenige Minuten.



    Editiert:
    Wenn du willst schreib ich das ganze auch so um, dass ein ISO-Image (1:1-Abbild der CD) erstellt wird, anstatt dass die Dateien einfach kopiert werden.
     
  3. HackerChris
    HackerChris Lebende CPU
    Themenstarter
    Registriert seit:
    3. Dezember 2007
    Beiträge:
    1.303
    Zustimmungen:
    95
    Name:
    "nur" Chris ^^
    1. SysProfile:
    163800
    2. SysProfile:
    39431
    65909
    65910
    Steam-ID:
    kesnar
    Danke erst mal :great:

    Das mit dem Iso ist nicht nötig! Alle CD und DVD sind reine Daten Disks ...

    Ich hätte aber noch zwei Bitten:
    Kannst du das mit den Unterordnern entfernen. Alle Dateien sollen in ein Ordner kopiert werden, das erspart mir viel Arbeit.
    Und dann wäre es noch cool wenn sich das Programm nach einem erfolgreichen Kopiervorgang nicht selber beenden würde, sondern nur die Disk auswirft und wenn eine neue eingelegt ist das Spiel von vorne los geht!
    Wäre das möglich? :o
     
    #3 HackerChris, 3. Januar 2009
  4. alex
    alex killed in action
    Registriert seit:
    30. Dezember 2006
    Beiträge:
    8.187
    Zustimmungen:
    282
    1. SysProfile:
    63644
    2. SysProfile:
    18897
    40873
    Fix: http://alexirsi.czerrahn.de/DiscCopy_0.02.rar

    Muss ich noch schauen ob ich das auf die Schnelle hinbekomme... ;)
     
  5. @@RON
    @@RON Computer-Xpert
    Registriert seit:
    2. Mai 2007
    Beiträge:
    1.294
    Zustimmungen:
    48
    Name:
    Aaron
    1. SysProfile:
    9979
    2. SysProfile:
    9977
    Cool cool, mit welchem Programm haste das denn gemacht? :)
     
  6. alex
    alex killed in action
    Registriert seit:
    30. Dezember 2006
    Beiträge:
    8.187
    Zustimmungen:
    282
    1. SysProfile:
    63644
    2. SysProfile:
    18897
    40873
  7. HackerChris
    HackerChris Lebende CPU
    Themenstarter
    Registriert seit:
    3. Dezember 2007
    Beiträge:
    1.303
    Zustimmungen:
    95
    Name:
    "nur" Chris ^^
    1. SysProfile:
    163800
    2. SysProfile:
    39431
    65909
    65910
    Steam-ID:
    kesnar
    Super danke für den Tipp! :great:
    Denn ein weißer Mann sage mal: "Geb den Leuten ein Skript und sie haben die Lösung für das eine Problem. Gebe ihnen aber das Wissen ein Skript zu schreiben und sie haben die Lösung für alle Skript Probleme!"
    War zwar im Original mit Fischen und hunger haben, aber egal :rolleyes:

    He, bin grad am schreiben für ne eigene Datei, bekomm auch alles so weit hin nur mit der Progressbar hab ich echt Probleme!
    Kannst du mir vllt die Zeilen mit der Progressbarschicken? Oder vllt auch dein ganzes Skript ;)

    Btw.: Wollt dir nen Reno geben, kann ich aber nicht!? Zeigt immer an das ich dir schon nen Reno gegeben hab ... muss ein Bug sein!
     
    #7 HackerChris, 3. Januar 2009
  8. alex
    alex killed in action
    Registriert seit:
    30. Dezember 2006
    Beiträge:
    8.187
    Zustimmungen:
    282
    1. SysProfile:
    63644
    2. SysProfile:
    18897
    40873
    Hier die Copy-Funktion inkl. Progressbar:

    HTML:
    Func _copyprogress($sourcedir, $destinationdir)
        If StringRight($sourcedir, 1) = "\" Then $sourcedir = StringLeft($sourcedir, StringLen($sourcedir) - 1)
        If StringRight($destinationdir, 1) <> "\" Then $destinationdir = $destinationdir & "\"
        If Not FileExists($destinationdir) Then DirCreate($destinationdir)
        $sourcesize = DirGetSize($sourcedir, 1)
        $1_perc = $sourcesize[0] / 100
        Run('XCOPY "'& $sourcedir & '" "' & $destinationdir & '" /D /S /E /V /C /H /R /O /Y', "", @SW_HIDE)
        ProgressOn("Status", $1_perc & "%", "")
        Do 
            $destinationsize = DirGetSize($destinationdir, 1)
            ProgressSet(Round($destinationsize[0] / $1_perc, 2), Round($destinationsize[0] / (1024 * 1024), 2) & " MByte von " & Round($sourcesize[0] / (1024 * 1024), 2)& " MByte kopiert" & @CRLF & $destinationsize[1] & " von " & $sourcesize[1] & " Dateien kopiert" & @CRLF & $destinationsize[2] & " von " & $sourcesize[2] & " Ordner kopiert", Round($destinationsize[0] / $1_perc, 2) & " %")
            Sleep(200)
        Until $destinationsize[0] >= $sourcesize[0]
        ProgressOff()
    EndFunc



    Ist doch egal, hab eh schon mehr als genug ;)
     
  9. HackerChris
    HackerChris Lebende CPU
    Themenstarter
    Registriert seit:
    3. Dezember 2007
    Beiträge:
    1.303
    Zustimmungen:
    95
    Name:
    "nur" Chris ^^
    1. SysProfile:
    163800
    2. SysProfile:
    39431
    65909
    65910
    Steam-ID:
    kesnar
    Also, hab immer noch ein Problem mit der ProgressBar!
    HTML:
        $sitzeq = DirGetSize($quelle, 1); Byte / Dateien / Ordner
        $sitzez = DirGetSize($ziel, 1)
        $1pro = $sitzeq[0] / 100 ; Ein Prozent der Quell Bytes
        ProgressOn ("Es wird kopiert", "Von " & $quelle & " ==> " & $ziel & $subdir, Round($1pro, 0) & "%", 20, 20, 18)
        DirCopy ($quelle, $ziel & $subdir, 1)
        Do
            $sitzez = DirGetSize($ziel, 1)
            ProgressSet(Round($sitzez[0] / $1pro, 0), Round($sitzez[0] / 1024^2) & " MByte von " & Round($sitzeq[0] / 1024^2, 0) & " MByte kopiert" & @CR & $sitzez[1] & " von " & $sitzeq[1] & " Dateien kopiert" & @CR & $sitzez[2] & " von " & $sitzeq[2] & " Ordner kopiert!", Round($sitzez[0] / $1pro, 0) & " %")
            Sleep(200)
        Until $sitzeq[0] <= $sitzez[0]
        ProgressOff()
    Das ist nur ein Ausschnitt vom Skript (Das Original ist schon 79 Zeilen lang ^^)
    Wieso hast du "xcopy" statt "DirCopy" verwendet?

    Wenn ich bei mir "DirCopy" eine Zeile vor "ProgressOn" setzte, dann habe ich gar keinen Ladebalken! Wenn ich "DirCopy" so wie oben setze ist der Lade Balken nur das was in "ProgressOn" steht! Das aus "ProgressSet" wird nie angezeigt! Hast du vllt ne Erklärung dafür?


    Da ist mal alles drin, wie es gerade aussieht:
    titel = "AutoCDaufHDD"

    $answer = MsgBox(1, $titel, "Kopieren starten?", 3)
    If $answer <> 1 then
    Exit
    EndIf

    $quelle = InputBox ($titel, "Bitte CD/DVD Laufwerk eingeben!", "K:")
    If @error = 1 then Exit ; Wenn man Cancel drueckt wird der Dialog beendet!
    $dr = DriveGetLabel ($quelle)
    ; Testen ob in der Quelle eine CD eingelegt ist!
    While $dr = ""
    MsgBox(0, $titel, "Keine CD eingelegt!")
    $quelle = InputBox ($titel, "CD Laufwerk eingeben!", "K:")
    If @error = 1 then Exit
    $dr = DriveGetLabel ($quelle)
    WEnd

    $ziel = InputBox ($titel, "Ziel?", "J:\FilmeX")
    If @error = 1 then Exit

    $subdir = ""
    $sub = MsgBox(4, $titel, "Soll ein Unterordner je CD angelegt werden? (Datum und Uhrzeit!)")

    ; Die endlos Schleife
    While $dr <> ""
    If $sub = 6 then
    $subdir = "\" & @YEAR & "-" & @MON & "-" & @MDAY & "_" & @HOUR & "-" & @MIN & "-" & @SEC
    EndIf
    $sitzeq = DirGetSize($quelle, 1); Byte / Dateien / Ordner
    $sitzez = DirGetSize($ziel, 1)
    $1pro = $sitzeq[0] / 100 ; Ein Prozent der Quell Bytes
    ProgressOn ("Es wird kopiert", "Von " & $quelle & " ==> " & $ziel & $subdir, Round($1pro, 0) & "%", 20, 20, 18)
    DirCopy ($quelle, $ziel & $subdir, 1)
    Do
    $sitzez = DirGetSize($ziel, 1)
    ProgressSet(Round($sitzez[0] / $1pro, 0), Round($sitzez[0] / 1024^2) & " MByte von " & Round($sitzeq[0] / 1024^2, 0) & " MByte kopiert" & @CR & $sitzez[1] & " von " & $sitzeq[1] & " Dateien kopiert" & @CR & $sitzez[2] & " von " & $sitzeq[2] & " Ordner kopiert!", Round($sitzez[0] / $1pro, 0) & " %")
    Sleep(200)
    Until $sitzeq[0] <= $sitzez[0]
    ProgressOff()

    ; CD Laufwerk wird geoeffnet!
    ; Run("nircmd.exe cdrom open " & $quelle)

    ; Testen ob im Ziel genauso viel MB sind wie in der Quelle
    $sitzeq = DirGetSize($quelle, 0)
    $sitzez = DirGetSize($ziel, 0)
    If $sitzeq[0] <= $sitzez[0] then
    MsgBox(0, $titel, "Dateien erfolgreich von " & $quelle & " nach " & $ziel & $subdir & " kopiert!", 5)
    Else
    MsgBox(0, $titel, "Es konnten NICHT alle Dateien erfolgreich von " & $quelle & " nach " & $ziel & $subdir & " kopiert werden!")
    EndIf

    MsgBox(0, $titel, "Danke das du das Programm 'AutoCDaufHDD', geschireben von HackerChirs, benutzt hast!")
    Exit

    #comments-start
    ; Es wird getestet ob eine neue CD eingelegt wurde
    $dr = DriveGetLabel ($quelle)
    While $dr = ""
    $ans = MsgBox(1, $titel, "Keine CD in " & $quelle & " eingelegt! Beenden mit 'Abbrechen'", 10)
    If $ans = 2 then
    MsgBox(0, $titel, "Danke das du das Programm 'AutoCDaufHDD', geschireben von HackerChirs, benutzt hast!")
    Exit
    EndIf
    $dr = DriveGetLabel ($quelle)
    WEnd
    #comments-end
    WEnd
    MsgBox(0, $titel, "Danke das du das Programm 'AutoCDaufHDD', geschireben von HackerChirs, benutzt hast!")
    Exit



    Wollte halt nicht undankbar erschienen ;)
     
    #9 HackerChris, 4. Januar 2009
  10. alex
    alex killed in action
    Registriert seit:
    30. Dezember 2006
    Beiträge:
    8.187
    Zustimmungen:
    282
    1. SysProfile:
    63644
    2. SysProfile:
    18897
    40873
    Eben deswegen, weil es bei mir mit DirCopy die selben Fehler gab wie bei mir...
    Aber ist ja völlig egal ob Windows' xcopy oder AutoIts DirCopy.

    Hast eh schon 2x danke gesagt :)
     
  11. HackerChris
    HackerChris Lebende CPU
    Themenstarter
    Registriert seit:
    3. Dezember 2007
    Beiträge:
    1.303
    Zustimmungen:
    95
    Name:
    "nur" Chris ^^
    1. SysProfile:
    163800
    2. SysProfile:
    39431
    65909
    65910
    Steam-ID:
    kesnar
    Ich bekomme die PressBar ums verrecken nicht hin ... ist vllt auch besser so ... dann läuft das ganze im Hintergrund ab, denn mein Skript läuft jetzt wie ne 1 ^^

    Nur mal so ... wie hättest du das gemacht? Geht das auch mit AutoIt?
     
    #11 HackerChris, 4. Januar 2009
  12. alex
    alex killed in action
    Registriert seit:
    30. Dezember 2006
    Beiträge:
    8.187
    Zustimmungen:
    282
    1. SysProfile:
    63644
    2. SysProfile:
    18897
    40873
    Jo, bedient halt dann eine iso.exe, iso.dll oder sowas... ;)
     
  13. bbott
    bbott Grünschnabel
    Registriert seit:
    5. August 2017
    Beiträge:
    2
    Zustimmungen:
    0
    Die (EXE-)Dateien sind leider offline. Ich benötige ein (sehr) ähnliches Programm.
    1. Daten von CD/DVD sollen in Ordner kopiert werden, in einen Unterordner mit dem Namen von dem Datenträger
    2. Falls die Datei vorhanden ist soll die Datei umbenannt und kopiert werden.
    3. Danach soll das Medium ausgeworfen werden.
    4. Das Programm wartet auf neuen Datenträger und beginnt dann wieder mit 1.

    Beim Ausführen der geposteten Skripte kommt nur: Line 1: "unknown funktion name" oder keine Reaktion.
     
  14. Gorsi
    Gorsi Super-Moderator
    S-Mod
    Registriert seit:
    24. März 2008
    Beiträge:
    11.416
    Zustimmungen:
    443

    Der Thread ist aus 2009. Eine 8 Jahre alte Leiche. Bitte öffne einen neuen Thread dafür.

    Das Geschriebene Programm basiert auf ein Windows aus dieser Zeit. Deshalb funktioniert es auch nicht mehr. :)
     
  15. Error:Failed connect to localhost:9200; Connection refused
Thema:

CDs automatisch auf HDD kopieren

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden