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... Discussion in 'Software & Treiber' started by HackerChris, Jan 3, 2009.

Thread Status:
Not open for further replies.
  1. HackerChris
    HackerChris Lebende CPU
    Joined:
    Dec 3, 2007
    Messages:
    1,303
    Likes Received:
    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, Jan 3, 2009
    Last edited: Jan 3, 2009
  2. alex
    alex killed in action
    Joined:
    Dec 30, 2006
    Messages:
    8,187
    Likes Received:
    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.



    Edit:
    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
    Threadstarter
    Joined:
    Dec 3, 2007
    Messages:
    1,303
    Likes Received:
    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, Jan 3, 2009
  4. alex
    alex killed in action
    Joined:
    Dec 30, 2006
    Messages:
    8,187
    Likes Received:
    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
    Joined:
    May 2, 2007
    Messages:
    1,294
    Likes Received:
    48
    Name:
    Aaron
    1. SysProfile:
    9979
    2. SysProfile:
    9977
  6. alex
    alex killed in action
    Joined:
    Dec 30, 2006
    Messages:
    8,187
    Likes Received:
    282
    1. SysProfile:
    63644
    2. SysProfile:
    18897
    40873
  7. HackerChris
    HackerChris Lebende CPU
    Threadstarter
    Joined:
    Dec 3, 2007
    Messages:
    1,303
    Likes Received:
    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, Jan 3, 2009
  8. alex
    alex killed in action
    Joined:
    Dec 30, 2006
    Messages:
    8,187
    Likes Received:
    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
    Threadstarter
    Joined:
    Dec 3, 2007
    Messages:
    1,303
    Likes Received:
    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, Jan 4, 2009
  10. alex
    alex killed in action
    Joined:
    Dec 30, 2006
    Messages:
    8,187
    Likes Received:
    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
    Threadstarter
    Joined:
    Dec 3, 2007
    Messages:
    1,303
    Likes Received:
    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, Jan 4, 2009
  12. alex
    alex killed in action
    Joined:
    Dec 30, 2006
    Messages:
    8,187
    Likes Received:
    282
    1. SysProfile:
    63644
    2. SysProfile:
    18897
    40873
    Jo, bedient halt dann eine iso.exe, iso.dll oder sowas... ;)
     
  13. bbott
    bbott Grünschnabel
    Joined:
    Aug 5, 2017
    Messages:
    2
    Likes Received:
    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
    Joined:
    Mar 24, 2008
    Messages:
    11,416
    Likes Received:
    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. :)
     
Thema:

CDs automatisch auf HDD kopieren

Loading...

CDs automatisch auf HDD kopieren - Similar Threads - CDs automatisch HDD

Forum Date

Apple Fotos automatisch aus der iCloud herunterladen: Open-Source-Tool macht’s möglich

Apple Fotos automatisch aus der iCloud herunterladen: Open-Source-Tool macht’s möglich: Apple Fotos automatisch aus der iCloud herunterladen: Open-Source-Tool macht’s möglich Das in Python geschriebene Kommandozeilen-Tool steht für Windows, macOS und Linux zur Verfügung. Neben dem...
User-Neuigkeiten Saturday at 9:22 PM

Microsoft Outlook: Copilot fasst E-Mail-Konversationen automatisch zusammen

Microsoft Outlook: Copilot fasst E-Mail-Konversationen automatisch zusammen: Microsoft Outlook: Copilot fasst E-Mail-Konversationen automatisch zusammen Die neue Funktion ermöglicht es Nutzern, sich mit einem Klick einen Überblick über E-Mail-Konversationen zu verschaffen...
User-Neuigkeiten Wednesday at 12:52 PM
CDs automatisch auf HDD kopieren solved
Thread Status:
Not open for further replies.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice