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

Prüfen ob Laufwerk in Verwendung ist

Mitglied: Quijote

Quijote (Level 1) - Jetzt verbinden

17.07.2012 um 19:19 Uhr, 2915 Aufrufe, 10 Kommentare

Hi,

ich muss Abfragen ob auf ein Laufwerk zugegeriffen wird. Z.B. wenn momentan ein Programm darauf zugreift.
Ich benötige es für ein Script das ein LW nach 10 min. aushängt, wenn es gerade nicht verwendet wird.

Gibt es ein Befehl/Skript mit dem man das machen kann?



Als Beispiel:

01.
Mount Z: 
02.
Warte 10 min. 
03.
Prüfe ob LW in Verwendung. 
04.
 
05.
Wenn nicht: unmount Z: 
06.
Ansonsten: warte 10 min. ...


Mitglied: AndreasHoster
18.07.2012 um 15:11 Uhr
Handle kann Dir die File Handles der Programme auslesen.
Siehe http://technet.microsoft.com/de-de/sysinternals/bb896655.aspx

Damit könnte man sehen, ob noch jemand was im Zugriff habt.
01.
handle -a | find "z:\" /i 
02.
if errorlevel 1 goto KeinZugriff
Wenn es ein Netzwerkshare ist, dann sieht es etwas anders aus:
01.
handle -a | find "\Device\LanmanRedirector\;Z:" /i 
02.
if errorlevel 1 goto KeinZugriff
Bitte warten ..
Mitglied: Quijote
20.07.2012 um 17:31 Uhr
Danke für die Hilfe, aber das klappt leider nicht.

Wenn ich die Errorlevel mit If abfrage, kommt sowohl 1 als auch 0 dabei raus.
Ich habe das mit echo ausprobiert.
Bitte warten ..
Mitglied: AndreasHoster
23.07.2012 um 10:00 Uhr
Der Errorlevel kann nicht gleichzeitig 0 und 1 sein.
Könntest Du mal näher erläutern was Du da meinst, bzw. am Besten den Code posten, mit dem Du abfragst?
Bitte warten ..
Mitglied: Quijote
27.07.2012 um 22:12 Uhr
Tut mir leid, hat etwas gedauert.

Mein Testscript ist folgendes:

01.
start LW_X.bat 
02.
 
03.
timeout /T 5 /NOBREAK 
04.
 
05.
handle -a | find "X:\" /i 
06.
if errorlevel 1 goto KeinZugriff 
07.
if errorlevel 0 goto Zugriff 
08.
 
09.
:KeinZugriff 
10.
echo derzeit kein Zugriff 
11.
 
12.
:Zugriff 
13.
echo Laufwerk ist besetzt 
14.
 
15.
 
16.
PAUSE
Ausgeben tut die Kommandozeile beides, also "derzeit kein Zugriff" und "Laufwerk ist besetzt". Egal ob ich jetzt darauf zugreife oder nicht.
Bitte warten ..
Mitglied: bastla
27.07.2012, aktualisiert um 23:56 Uhr
Hallo Quijote!
Ausgeben tut die Kommandozeile beides, also "derzeit kein Zugriff" und "Laufwerk ist besetzt".
Das ist zumindest für den Fall, dass ein Zugriff erfolgt, klar - hast Du Dir überlegt, was nach Zeile 10 in weiterer Folge passiert?
Ich würde das ab Zeile 5 eher so versuchen:
01.
set "LW=X:" 
02.
handle "%LW%\ | findstr /i "%LW%\\" && ( 
03.
    echo Zugriff 
04.
) || ( 
05.
    echo Kein Zugriff 
06.
)
Ev sollten auch noch "X:\$Extend\$ObjId" und "X:\System Volume Information\tracking.log" ignoriert werden - dann als Zeile 2:
handle %LW%\|findstr /ivc:"%LW%\\System Volume Information\\tracking.log" /c:"%LW%\\\$Extend\\\$ObjId"|findstr /i "%LW%\\" && ( 
Die Erklärung für die zusätzlichen "\" findest Du übrigens mit "findstr /?" ...

Grüße
bastla
Bitte warten ..
Mitglied: Quijote
28.07.2012 um 11:17 Uhr
Hi bastla!

Ich habe zwar nicht alles vom Code verstanden, aber wenn ich den so übernehme bekomme ich am Ende immer die Meldung "Kein Zugriff". Unabhängig davon ob ich darauf zugreife oder nicht.

Gruß
Quijote
Bitte warten ..
Mitglied: bastla
28.07.2012, aktualisiert um 11:32 Uhr
Hallo Quijote!

In die Zeile 2 ist ein Anführungszeichen reingerutscht - sollte besser so aussehen:
handle %LW%\ | findstr /i "%LW%\\" && (
Ich habe zwar nicht alles vom Code verstanden
Mein Ansatz macht eigentlich nix anderes, als Du mit den "if errorlevel"-Abfragen versucht hast (Verknüpfung mit "&&" entspricht "Errorlevel = 0" und mit "||" Errorlevel <> 0) - Du kannst das auch mit Deinem ursprünglichen
handle -a | find "X:\" /i
kombinieren ...

Grüße
bastla
Bitte warten ..
Mitglied: Quijote
29.07.2012 um 14:34 Uhr
Zitat von bastla:
In die Zeile 2 ist ein Anführungszeichen reingerutscht - sollte besser so aussehen:
handle %LW%\ | findstr /i "%LW%\\" && (

Habe ich eben ausprobiert, aber bekomme trotzdem immer die Meldung "Kein Zugriff". Funktioniert das denn bei dir?

Vielen Dank und Grüße

Quijote
Bitte warten ..
Mitglied: bastla
29.07.2012 um 17:52 Uhr
Hallo Quijote!
Funktioniert das denn bei dir?
Ja; allerdings benötigt "handle" Admin-Rechte - wenn Du also nicht mit einem Admin-User testest, würde das Dein Ergebnis erklären ...

Grüße
bastla
Bitte warten ..
Mitglied: Quijote
31.07.2012 um 15:41 Uhr
Leider bringt das auch nichts. Habe es nochmal mit einem USB-Stick gestestet (vielleicht liegts ja am Laufwerk) aber klappt auch nicht.
Bitte warten ..
Ähnliche Inhalte
Peripheriegeräte

Verwendung von drei SATA 3 LAufwerken 5,25 Zoll

gelöst Frage von Novum23Peripheriegeräte6 Kommentare

Guten Abend, ich habe derzeit drei ungenutzte Laufwerke 5,25 Zoll (alle SATA) rumliegen, ich würde diese gern in ein ...

Switche und Hubs

Verwendung Twinax

gelöst Frage von Philipp711Switche und Hubs5 Kommentare

Hallo, dies ist eine Anschlussfrage an folgenden Eintrag: Kurzfassung: Wir planen einen neuen Hyper-V-Cluster mit 3 Nodes und einem ...

Windows Server

Verwendung lokal angeschlossener Geräte

Frage von raba34Windows Server17 Kommentare

Liebe Gemeinde, ich möchte in einer RDP-Sitzung (PC mit Windows 10 Pro -> Windows Server 2012 R2) die Verwendung ...

Batch & Shell

Stringsoperation unter Verwendung von Variablen

gelöst Frage von tegwertBatch & Shell1 Kommentar

Hallo zusammen! Mit folgendem Script verändere ich den Inhalt einer Variable : Das Ergebnis "istein" wird korrekt ausgegeben. Nun ...

Neue Wissensbeiträge
Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 14 StundenWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 19 StundeniOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 TagSicherheit8 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Heiß diskutierte Inhalte
Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server25 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless22 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

SAN, NAS, DAS
Qnap TS-453S Pro - Anbindung Active Directory
Frage von JuckieSAN, NAS, DAS13 Kommentare

Hallo zusammen, ich habe hier eine Qnap TS-453S Pro die sich mal so absolut gar nicht in das Active ...