You are here : Start WSH - VBS Ist eine bestimmte Datei offen

Ist eine bestimmte Datei offen

Im Windows Script Hosting gibt es keine Funktion wie in VB um zu prüfen ob eine bestimmte Datei schon geöffnet ist.

Über die Funktion OpenTextFile kann dies ermöglicht werden.

Aber nicht alle Programme sperren die Datei wenn sie durch die Anwendung geöffet wurde (z.B. Notepad).

OpenTextFile

Option Explicit

Dim f
Dim sFile

' Hier den Dateinamen eintragen.
' ------------------------------
sFile = "c:\tmp\test.txt"
' ------------------------------

Function IsFileOpen(sFileName)
Dim oFSO, f
Dim iErrNum
Const ForAppending = 8
Const ForReading = 1

Set oFSO = CreateObject("Scripting.FileSystemObject")

On Error Resume Next ' Fehlerprüfung abschalten.
' Versuch die Datei gesperrt zu öffnen .
Set f = oFSO.OpenTextFile(sFileName, ForAppending, False)
iErrNum = Err.Number ' auftretende Fehler-Nummer sichern.
f.Close ' Datei schließen.
On Error Goto 0 ' Errprüfung wieder einschalten.

' Auftetende Fehlernummer herausbekommen.
Select Case iErrNum

Case 0

'Kein Fehler ist aufgetreten.

'Datei ist bis jetzt NICHT durch eine andere Anwendung geöffnet.

IsFileOpen = False

Case 70

'Feher-Nummer (Error number) für "Zugriff verweigert"

'Datei ist schon durch eine andere Anwendung geöffnet.

IsFileOpen = True

Case Else ' Sonstiger auftretender Fehler.

Err.Raise iErrNum

End Select
End Function

' Aufruf der Funktion
f = IsFileOpen(sFile)
MsgBox f
 
JoomlaTheme.net