Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst CDs Automatisch auf HDD kopieren

Mitglied: Yellowcake

Yellowcake (Level 1) - Jetzt verbinden

03.05.2018 um 16:17 Uhr, 1025 Aufrufe, 12 Kommentare, 1 Danke

hey

ich stehe gerade etwas auf dem Schlauch.

ich habe hier ca 100-500 CD liegen mit Daten. Ich würde gerne jede CD auf die Festplatte 1 zu 1 kopieren ohne ständig irgend etwas am Rechner zu machen.

idealerweise so:

CD einlegen -> wird automatisch erkannt und dann wird gleich alles von der CD Kopiert in ein Laufwerk meiner wahl, nur immer wieder ein Ordner erstellt , egal ob vortlaufende nummer oder Datum+zeit. Wenn das Kopieren durch ist, wird die CD ausgeworfen und wird gewartet bis eine neue CD erkannt ist. dann gehts wieder von vorne los.

dachte in AutoIT könnte man das machen, aber hier stehe ich total auf dem schlauch...
ich weiß das man mit
01.
Local $aCDRom = DriveGetDrive($DT_CDROM)
02.
CDTray($aCDRom[1], $CDTRAY_OPEN)
die CD auswerfen kann.
ich weiß nur noch nicht wie ich das kopieren hin bekomme das immer ein neuer Ordner erstellt wird ...
Mitglied: SlainteMhath
03.05.2018 um 16:29 Uhr
Moin,

also unter Linux würde ich das mit udev-rules machen, das geht da problemlos.
Und Windows... evtl. mit Powershell? Endlosschleife, die das Laufwerk überwacht, dann kopiert und auswirft und dann wieder wartet...

lg,
Slainte
Bitte warten ..
Mitglied: Kraemer
03.05.2018 um 16:44 Uhr
Zitat von SlainteMhath:
Und Windows... evtl. mit Powershell? Endlosschleife, die das Laufwerk überwacht, dann kopiert und auswirft und dann wieder wartet...
ist ne Idee
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ...
https://gallery.technet.microsoft.com/scriptcenter/EjectClose-CDDVD-driv ...
Bitte warten ..
Mitglied: Yellowcake
03.05.2018 um 16:55 Uhr
01.
RunWait ("ROBOCOPY e:\ c:\temp\cd\%datum%.%zeit%")
02.
Local $aCDRom = DriveGetDrive($DT_CDROM)
03.
CDTray($aCDRom[1], $CDTRAY_OPEN)
soweit bin ich schon ;) leider weiß ich noch nicht wie ich mit robocopy das datum da rein bekomme
Bitte warten ..
Mitglied: colinardo
03.05.2018, aktualisiert 04.05.2018
Servus Yellowcake,
das ist schnell gemacht.

Hier mal als Powershell-Skript:
(Variablen im Kopf füllen, starten, CDs einfach nacheinander einlegen, freuen )
01.
<#
02.
    AUTO COPY DISK ON INSERT
03.
#>
04.
# ==============
05.
# drive letter to monitor
06.
$drive = 'E:'
07.
# backup root folder
08.
$target = 'D:\Backup'
09.
# =============
10.
# only continue if PS >= Version 3.0
11.
if ($PSVersionTable.PSVersion.Major -lt 3){write-host "ERROR: Minimum Powershell Version 3.0 is required!" -F Yellow; return}
12.
# create root folder if not exist
13.
if (!(Test-Path $target)) {md $target -Force | out-null}
14.

15.
# delete eventcubscriber if there are still open ones
16.
Get-EventSubscriber | Unregister-Event -Force
17.
# shell object
18.
$global:shell = New-Object -Com Shell.Application
19.

20.
# WMI Event Registration (Action fires when CD-Drive changes it's state)
21.
Register-WmiEvent -Query "Select * From __InstanceModificationEvent Within 1 where TargetInstance isa 'Win32_LogicalDisk' and TargetInstance.DriveType = 5 and TargetInstance.Size != null and TargetInstance.DeviceId = '$drive'" -SourceIdentifier 'RemovableDetector' -Action {
22.
    $deviceid = $Event.SourceEventArgs.NewEvent.TargetInstance.DeviceID
23.
    $volserial = $Event.SourceEventArgs.NewEvent.TargetInstance.VolumeSerialNumber
24.
    # create target subfolder with name format "disk_volumeserial_(datetime)"
25.
    $targetfolder = "$target\Disk_${volserial}_$(get-date -f yyyyMMdd-HHmmss)"
26.
    md $targetfolder -Force | out-null
27.

28.
    # list drive information
29.
    write-host "New disk loaded." -F Green
30.
    write-host ($Event.SourceEventArgs.NewEvent.TargetInstance | select DeviceId, Description@{n='DiskSize';e={'{0:N2} MB' -f ($_.Size / 1MB)}} | ft -AutoSize | out-string)
31.
    
32.
    write-host "Start copying disk to '$targetfolder' ... " -NoNewline -F Green
33.
    # copy to target
34.
    copy-item "$deviceid\*" -Recurse -Destination $targetfolder -Force
35.
    # eject disk
36.
    write-host "Finished. Ejecting disk '$deviceid' ..." -F Green
37.
    $global:shell.Namespace(17).ParseName($deviceid).Verbs() | ?{$_.Name.replace('&','') -match '^(Auswerfen|Eject)$'} | %{$_.Doit()}
38.
    write-host 'Waiting for next disk ...' -F Green
39.
} | out-null
40.
cls
41.
write-host 'Waiting for disk ...' -F Green
42.
while($true){sleep 1}
Grüße Uwe
Bitte warten ..
Mitglied: Yellowcake
04.05.2018, aktualisiert um 10:01 Uhr
danke colinardo, habe aber einen noch einfacheren weg gefunden:

01.
set hour=%time:~0,2%
02.
if "%hour:~0,1%" == " " set hour=0%hour:~1,1%
03.
set min=%time:~3,2%
04.
if "%min:~0,1%" == " " set min=0%min:~1,1%
05.
set secs=%time:~6,2%
06.
if "%secs:~0,1%" == " " set secs=0%secs:~1,1%
07.
set "myDate=%date:~6,4%%date:~3,2%%date:~0,2%"
08.

09.
robocopy e:\ /E c:\temp\cd\%date:~6,4%.%date:~3,2%.%date:~0,2%-%hour:~0,2%.%min:~0,2%.%secs:~0,2%
10.

11.
powershell (New-Object -com "WMPlayer.OCX.7").cdromcollection.item(0).eject()
12.

13.
c:\temp\cd\test.cmd
14.
wobei
01.
c:\temp\cd\test.cmd
die CMD Datei selber ist der loop für loser ;)

läuft super
Bitte warten ..
Mitglied: Lochkartenstanzer
04.05.2018, aktualisiert um 10:09 Uhr
Zitat von Yellowcake:

wobei
01.
c:\temp\cd\test.cmd
die CMD Datei selber ist der loop für loser ;)

läuft super

Stack overflow!!eins!elf!!!

lks

PS. Guck mal auf den Speicherverbrauch, Sollte zwar unkritisch sein, aber je nachdem, wieviele rekursive Aufrufe Du hast, könnte das schon zu Problemen führen.
Bitte warten ..
Mitglied: Kraemer
04.05.2018 um 10:22 Uhr
Zitat von Yellowcake:

danke colinardo, habe aber einen noch einfacheren weg gefunden:
Sorry, aber nein, das hast du nicht.

powershell (New-Object -com "WMPlayer.OCX.7").cdromcollection.item(0).eject()
wie man im Internet mehrfach lesen kann, die ätzendste "Lösung", um ein Laufwerk zu öffnen. Nur mal am Rande gefragt, weißt du genau, was diese Zeile macht?

wobei
01.
c:\temp\cd\test.cmd
die CMD Datei selber ist der loop für loser ;)
nope - das ist keine Schleife! lks hat es schon richtig beschrieben!

läuft super
dein Elan in allen Ehren (und ich finde es wirklich gut, dass du trotz fertiger Lösung dir eine eigene gesucht hast), aber das was du da gebastelt hast, ist übelster Stil. Sowas kann echt "lustige" Nebeneffekte habe...

Gruß
Bitte warten ..
Mitglied: colinardo
04.05.2018, aktualisiert um 10:46 Uhr
Hust.":;*#@
Don't cry for me Argentina, it's friday.
Bitte warten ..
Mitglied: Yellowcake
04.05.2018 um 11:22 Uhr
Zitat von Kraemer:
powershell (New-Object -com "WMPlayer.OCX.7").cdromcollection.item(0).eject()
wie man im Internet mehrfach lesen kann, die ätzendste "Lösung", um ein Laufwerk zu öffnen. Nur mal am Rande gefragt, weißt du genau, was diese Zeile macht?

nein ;) es macht aber das was es soll ;)

läuft super
dein Elan in allen Ehren (und ich finde es wirklich gut, dass du trotz fertiger Lösung dir eine eigene gesucht hast), aber das was du da gebastelt hast, ist übelster Stil. Sowas kann echt "lustige" Nebeneffekte habe...

;) übelster Stil ;) läuft würde ich sagen Von Powershell habe ich leider keine Ahnung und bei AutoIT wollte es auch nicht so wie ich, da musste ich wieder auf das gute alte CMD zurück, und dann dachte ich mir wieso nicht alles gleich ins CMD ;) ok holzhammer metode mit dem Loop für loser, aber im ganzen geht es ja.

aber ich versuche gerade auch die Powershell Lösung zu verstehen, steige aber noch nicht da hinter. und was nutzen was man nicht versteht ist ja auch doof...
Bitte warten ..
Mitglied: colinardo
04.05.2018, aktualisiert um 11:35 Uhr
aber ich versuche gerade auch die Powershell Lösung zu verstehen, steige aber noch nicht da hinter. und was nutzen was man nicht versteht ist ja auch doof...
Dafür habe ich doch extra alle Zeilen mit Kommentaren versehen ?!

Wenn noch Fragen sind einfach fragen.

Machen lässt sich das mit fast allen Skript und Programmiersprachen. Vorgehensweise ist dabei immer ähnlich:
  • WMI Event (Win32_LogicalDisk) mit WQL für Laufwerk abonnieren (Das Event sagt dem Skript wann eine neue CD eingelegt wurde)
  • Dem Event die entsprechende Aktion zuweisen
Bitte warten ..
Mitglied: colinardo
LÖSUNG 04.05.2018, aktualisiert um 12:15 Uhr
Hier noch für die Auto-It Fraktion ...Starten, CDs nacheinander einlegen und Kaffee trinken gehen.
01.
#include <Date.au3>
02.
; Laufwerk
03.
$drive = "E:"
04.
; Zielordner
05.
$target = "D:\temp"
06.
; Dauerschleife
07.
while 1
08.
        ; Wenn Laufwerk READY dann fange an zu kopieren
09.
	if DriveStatus($drive & "\") = "READY" then
10.
                ; aktuelles Datum holen
11.
		$tm = _Date_Time_GetSystemTime()
12.
                ; Zielordner zusammensetzen
13.
		$destinationFolder = $target & "\disk_" & StringRegExpReplace(_Date_Time_SystemTimeToDateTimeStr($tm,1),"[/:\s]","")
14.
                ; Inhalt der CD kopieren
15.
		DirCopy($drive,$destinationFolder)
16.
                ; Disk auswerfen
17.
		CDTray($drive,"open")
18.
	EndIf
19.
        ; schlafen legen bis nächste Disk eingelegt wurde
20.
	while DriveStatus($drive & "\") <> "READY"
21.
		Sleep(1)
22.
	WEnd
23.
Wend
Das sollte es für's Thema nun gewesen sein.
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen, und Lösungen markieren. Merci.
Bitte warten ..
Mitglied: Yellowcake
04.05.2018 um 13:22 Uhr
Zitat von colinardo:

Hier noch für die Auto-It Fraktion ...Starten, CDs nacheinander einlegen und Kaffee trinken gehen.
01.
> #include <Date.au3>
02.
> ; Laufwerk
03.
> $drive = "E:"
04.
> ; Zielordner
05.
> $target = "D:\temp"
06.
> ; Dauerschleife
07.
> while 1
08.
>         ; Wenn Laufwerk READY dann fange an zu kopieren
09.
> 	if DriveStatus($drive & "\") = "READY" then
10.
>                 ; aktuelles Datum holen
11.
> 		$tm = _Date_Time_GetSystemTime()
12.
>                 ; Zielordner zusammensetzen
13.
> 		$destinationFolder = $target & "\disk_" & StringRegExpReplace(_Date_Time_SystemTimeToDateTimeStr($tm,1),"[/:\s]","")
14.
>                 ; Inhalt der CD kopieren
15.
> 		DirCopy($drive,$destinationFolder)
16.
>                 ; Disk auswerfen
17.
> 		CDTray($drive,"open")
18.
> 	EndIf
19.
>         ; schlafen legen bis nächste Disk eingelegt wurde
20.
> 	while DriveStatus($drive & "\") <> "READY"
21.
> 		Sleep(1)
22.
> 	WEnd
23.
> Wend
24.
> 
Das sollte es für's Thema nun gewesen sein.
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen, und Lösungen markieren. Merci.


ui das ist gut, das verstehe ich eher als das Phowershell ding Danke Held des Wochenendes
Bitte warten ..
Ähnliche Inhalte
Verschlüsselung & Zertifikate

HDD automatisch nach booten entschlüsseln + mounten (Veracrypt)

Frage von mattmattmattVerschlüsselung & Zertifikate1 Kommentar

Ich möchte mit Veracrypt meine interne SSD und HDD verschlüsseln. Auf der SSD ist das Betriebssystem (Win7), auf der ...

Sicherheitsgrundlagen

CDs auslesen im Firmenumfeld

gelöst Frage von TripleBSicherheitsgrundlagen5 Kommentare

Hi, wie handhabt ihr den Umgang mit CDs in eurem Unternehmen? Bei uns ist es so, dass recht viele ...

Microsoft Office

Setup-CDs Microsoft Office VolumeLicense

gelöst Frage von Winfried-HHMicrosoft Office3 Kommentare

Hallo Admins, wir haben für unsere Schule Office 2016 als Volumenlizenz über einen Rahmenvertrag gekauft. Der (seriöse) Händler teil ...

Netzwerkmanagement

HDD S.M.A.R.T

Frage von PharITNetzwerkmanagement10 Kommentare

Hallo allerseits, kurze Frage. Gibt es ein gesondertes, kostenloes Tool, was auf den Rechnern die HDD Werte überwacht und ...

Neue Wissensbeiträge
Administrator.de Feedback
Entwicklertagebuch: Die nächste Version
Information von admtech vor 12 StundenAdministrator.de Feedback4 Kommentare

Hallo Administrator User, vielleicht haben es einige User schon mitbekommen: Wir arbeiten aktuell an einer komplett neuen Version von ...

Windows Server

Active Directory ESE Version Store Changes in Server 2019

Information von Dani vor 4 TagenWindows Server

Moin, Last month at Microsoft Ignite, many exciting new features rolling out in Server 2019 were talked about. But ...

Exchange Server

Microsoft Extending End of Support for Exchange Server 2010

Information von Dani vor 4 TagenExchange Server4 Kommentare

Moin, After investigating and analyzing the deployment state of an extensive number of Exchange customers we have decided to ...

Schulung & Training

Humble Book Bundle: Network and Security Certification 2.0

Tipp von NetzwerkDude vor 4 TagenSchulung & Training

Abend, bei HumbleBundle gibts mal wider ein schönes Paket e-books: sind verschiedene Zertifizierungen wie MCSA, CCNA, CompTIA etc., für ...

Heiß diskutierte Inhalte
Visual Studio
Prüfen, ob Programm schon disposed wurde
Frage von MarcoBornVisual Studio17 Kommentare

Hallo Forum, ich habe in VB.NET ein Programm geschrieben, welches Word startet und dort Daten ausliest. Obwohl ich die ...

DNS
DNS Probleme nach Umstellung auf IPv6
Frage von thunderbird304DNS16 Kommentare

Hi Leute! Folgende Problematik: Umstieg von Glasfaser auf Telekom Buisiness DSL. Durch die Umstellung ist die FritzBox nun Gateway. ...

Netzwerkgrundlagen
Zukunftsicheres Heimnetzwerk aufbauen
Frage von CRO-WarriorNetzwerkgrundlagen15 Kommentare

Hallo Leute. Ich bin dabei das Haus in Kroatien zu renovieren. Da hab ich jetzt die Möglichkeit alles so ...

Speicherkarten
Multi USB Stick erstellen
Frage von Ghost108Speicherkarten15 Kommentare

Guten Morgen zusammen, ich würde gerne einen Multi USB Stick erstellen (bootmöglichkeit mehrer ISOs), welcher sowohl Legacy als auch ...