Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Batch Laufwerk abfragen

Frage Entwicklung Batch & Shell

Mitglied: rastikf

rastikf (Level 1) - Jetzt verbinden

28.06.2009, aktualisiert 06.07.2009, 8988 Aufrufe, 12 Kommentare

Hallo, ich würde gerne wissen, ob es eine Möglichkeit gibt den Status eines CD/DVD Lauwerkes mit einer Batch abzufragen! Also ich möchte mit einer Batch ein bestimmtes Programm starten sobald eine CD/DVD eingelegt wird!Es geht mir nur darum mit der Batch das Ereignis (CD wird eingelegt) abzufragen und je nach ausgabe zu handeln. ist sowas möglich???Wenn nicht, kann ich das mit AutoIt oder Delphi realisieren?Hab da auch schon ein paar erfahrungen, alledings brauch ich auch da hilfe...

Vielen dank schonmal für euro Antworten

Mit freundlichen Grüßen
Rasti
Mitglied: TsukiSan
28.06.2009 um 19:15 Uhr
Hallo Rasti,

hier ein einfacher Code in VBS:
Damit kannst du abfragen,ob das CD-Laufwerk
1) vorhanden ist und
2) ob ein Datenträger eingelegt ist
01.
 
02.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
03.
Set colDrives = objFSO.Drives 
04.
 
05.
 
06.
For Each objDrive in colDrives 
07.
    If objDrive.IsReady = True and objDrive.DriveLetter = "H" Then 
08.
        Wscript.Echo "Drive letter: " & objDrive.DriveLetter 
09.
        Wscript.Echo "Free space: " & objDrive.FreeSpace 
10.
    End If 
11.
Next
Für "H" gibst du bitte deinen aktuellen Laufwerksbuchstaben für dein CD-Laufwerkerk ein und im Anschluß noch in der "If"-Bedingung an, was geschehen soll.

Hoffe, ich konnte helfen

Gruß

Tsuki
Bitte warten ..
Mitglied: rastikf
28.06.2009 um 19:29 Uhr
Hey Tsukisan,
vielen Dank schonmal für deine Antwort! So wie ich dieses Script verstehe, fragt es ab ob eine CD im Laufwerk ist, und wenn ja führt es die gegebene Aktion aus!soweit so gut, bloß was ist wenn die CD schon drin liegt, z.b. wenn ich nach einem Standby mit eingelegter CD das System starte, würde es das ja auch ausführen!Das will ich aber nicht!Ich bräuchte etwas was nur auf die "CD Einlegen"-Funktion reagiert!
Falls ich das falsch verstehe bitte ich um einen Hinweis

Danke
Mit freundlichen Grüßen
Rasti
Bitte warten ..
Mitglied: TsukiSan
28.06.2009 um 19:37 Uhr
Hallo Rasti,

wer lesen kann ist klar im Vorteil
Ich hatte nicht genau deine Frage gelesen, sondern mich nur darauf konzentriert, ob es möglich ist, den Status des CD-Laufwerks zum aktuellen Zeitpunkt des Startens von meinem Script zu erfassen.
"Asche über mein Haupt"! Sorry!
Mit meinem Script ist es nicht möglich, den permanenten Status abzufragen und ggf. Reaktionen auszuführen.
Dann müßte man das ganze in einer "For Next"-Schleife laufen lassen und die aktuellen Daten zwischenspeichern.
Das werden dann ein paar Zeilen mehr.
Ich persönlich würde mir sowas dann in VB6 schreiben.
Aber dann braucht man wieder den Developer dafür und der ist auch nicht frei verfügbar.
Mal schauen, ob unsere anderen Kollegen nicht einen Batch oder Script-Tipp haben.

Gruß

Tsuki
Bitte warten ..
Mitglied: rastikf
28.06.2009 um 19:45 Uhr
kein Ding, ja denn genau an dem sind meine Vorhaben auch alle gescheitern. Denn ich habe nichts gefunden was so einen Fall überprüfen würde!Trotzdem vielen Dank für deine schnelle Antwort!Aslo wenn jemand Vorschläge hat, wäre ich sehr Dankbar!
Bitte warten ..
Mitglied: TsukiSan
28.06.2009 um 19:53 Uhr
Naja,

im groben sieht es so aus, daß man ein Programm startet,
es beim Start den aktuellen Status "merken" läßt und dann läuft es die ganze Zeit im Hintergrund. Je nach "Abfrage des Status"-Intervalls benötigt es Resourcen, welche dann auf die Rechenleistung des jeweiligen Rechners Auswirkungen hat.
OK!, Windows bekommt auch mit, ob sich Hardware o.ä. andert, ohne den Prozessor total auszulasten, aber das ist Frage wie man sein Progi gestaltet.
Also mal sehen, wie sowas als Batch oder Script "passieren" kann. Aber wie gesagt, ich bin kein Freund von diesen "endlos-Dingern"

Tsuki
Bitte warten ..
Mitglied: miniversum
28.06.2009 um 20:04 Uhr
Prinzipiell würde ich das nicht mit einem Programm/Batch oder sonst sowas machen was die ganze Zeit im Hintergrund läuft.
Nutze doch die autoplay Funktion von Windows.
In den Einstellungen des Laufwerks kansnt du dort einstellen welches Programm automatisch beim einlegen eines bestimmten CD Typs gestartet werden soll. Ist dein Programm da ncith dabei kannst du es mit z.B. tweakUI hinzufügen.
Bitte warten ..
Mitglied: rastikf
28.06.2009 um 20:07 Uhr
Genau, dem stimme ich vollkommen zu!Ich mag dieses ewig laufen auch nicht!Ich würde ja gerne auf so eine Windows Abfrage reagieren wollen, bloß die eingebaute Autostartfunktion, (ich hab mir auch schon einen eigenen Autostart Handler gebastelt unter Vista) klappt leider nicht immer zuverlässig!Aber diese Abfrage muss ja immer kommen, bloß kenne ich nichts womit ich darauf reagieren könnte, wie gesagt sei es mit Batch,VBScript und ich den anderen Hochsprachen kenne ich mich nicht geug aus um sowas zu realisieren!
Mit freundlichen Grüßen
Rasti
Bitte warten ..
Mitglied: rastikf
28.06.2009 um 20:13 Uhr
Hey Danke für deine Antwort, aber wie schon in meinem Vorherigen Post beschrieben, funktioniert sowas leider nicht immer!Das war auch meine erste Idee und ich habs unter Vista versucht, hab mir da mit Registry Einträgen nen neuen "PlayDVDMovieOnArrival" und die entsprechenden AutoplayHandler geschrieben, bloß hab ich die Erfahrung gemacht das es leider nicht immer funktioniert, und deswegen such ich nach einer anderen Löung

Mit freundlichen Grüßen
Rasti
Bitte warten ..
Mitglied: miniversum
28.06.2009 um 20:58 Uhr
Naja Wenns Batch sein soll könnte es so funktioniere (ungetestet):
01.
@echo off 
02.
set LW=H: 
03.
rem Initialstate hermitteln 
04.
dir %LW% >NUL 2>NUL 
05.
set LWState=%errorlevel% 
06.
rem prüfung in Schleife (im 5s Intervall) 
07.
:loop 
08.
ping -n 5 localhost >NUL 
09.
dir %LW% >NUL 2>NUL 
10.
if %errorlevel% neq %LWState% ( 
11.
set LWState=%errorlevel% 
12.
call:StCh%errorlevel%%LWState% 
13.
14.
goto:loop 
15.
 
16.
:StCh01 & rem CD eingelegt 
17.
echo CD wurde eingelegt 
18.
goto:loop 
19.
 
20.
:StCh10 & rem CD ausgeworfen 
21.
echo CD wurde ausgeworfen 
22.
goto:loop
Bitte warten ..
Mitglied: rastikf
29.06.2009 um 00:03 Uhr
Danke, ich werde es testen und die Ergebnisse Posten wie es sich verhällt!

Mit freundlichen Grüßen
Rasti
Bitte warten ..
Mitglied: rastikf
29.06.2009 um 10:19 Uhr
Hey miniversum,
sieht sehr gut aus. Tut bis jetzt genau das was ich möchte! Vielen Dank nochmal, habt mir sehr geholfen!

Mit freundlichen Grüßen
Rasti
Bitte warten ..
Mitglied: evinben
02.09.2011 um 19:05 Uhr
Hallo,

wie könnte die Hardware-ID bzw. VID/PID aller Laufwerke abgefragt werden, um sicherzustellen, dass es sich exakt um denjenigen Datenträger handelt, der individuell abgearbeitet werden soll? Der nächste Schritt wäre zu erfahren, welche Laufwerksbuchstaben denen momentan vergeben wurden, um die eine absolute Zuordnung des Laufwerksbuchstabens zu dem tatsächlichen physikalischen Datenträger (Hardware-IDs bzw. VID/PID) zu erreichen.
Die Laufwerksbuchstaben können sich wechseln, wenn Konflikte entstehen, auch selbst dann, wenn diese unter Datenträgerverwaltung bewusst festgelegt wurden. Z. B. dem externen Datenträger Nr. 4 wurde der Laufwerksbuchstaben H:\ zugewiesen. Diese wurde entnommen. Nach kurzer Zeit wurde einem neuen Datenträger Nr. 5 absichtlich derselbe Laufwerksbuchstaben H:\ zugewiesen (aus Backup- und Synchronisierungsgründen) usw. für die restlichen. Es kommt oft vor, dass sogar mehrere gleichzeitig angeschlossen werden, um diese zu bearbeiten. Die Laufwerksbuchstaben sind flüchtig und dementsprechend keine richtige Lösung zur einer sicheren Zuordnung.

Per Batch soll nun erst abgefragt werden, um welchen Datenträger es sich genau handelt, um mit der "if"- Bedingung die entsprechende Aufgabe für den jeweiligen Datenträger zu starten. Es ist dabei nicht erlaubt (es wäre reine Katastrophe), wenn aus irgendwelchem Grund der falsche Datenträger behandelt werden würde. Daher ist eine Abfrage nach Hardware-IDs bzw. anderen Geräte-Merkmale für eine sichere Zuordnung unabdingbar. Einige Datenträger besitzen leider keine Seriennummer. Wobei eine Abfrage nach nur Hardware-ID wäre in meinem Fall ausreichend, da alle Datenträger von unterschiedlichen Herstellern mit unterschiedlichen Modellen sind und somit unterschiedliche VID und PID aufweisen (Vendor- und Product-IDs).

Hier benötige ich wieder von euch eine Hilfe, wo ich nach etlichen Recherchen alleine leider nicht weiter kommen konnte.

Gruß
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (9)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...