meta data for this page
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
filesystemobject [2016/10/08 17:58] – Externe Bearbeitung 127.0.0.1filesystemobject [2018/07/28 11:23] (aktuell) michael
Zeile 1: Zeile 1:
-[[#FileSystemObject|FileSystemObject]] | [[#Definieren|Definieren]] | [[#Zerstören|Zerstören]] | [[#Pfadfunktionen|Pfadfunktionen]] | [[#Laufwerksfunktionen|Laufwerksfunktionen]] | [[#Verzeichnisfunktionen|Verzeichnisfunktionen]] | [[#Dateifunktionen|Dateifunktionen]] +===== FileSystemObject ===== 
-====== FileSystemObject ====== + 
- Eins der wichtigsten Objekte für Skripte. Es ist __das__ Standardobjekt in fast jedem Skript. Daher wird der Zugriff meist aus Performance-Gründen global definiert.\\  Hilfreiche Zusammenstellung von Skriptbeispielen: http://www.oc-s.com/tutorials/WSH/filesystemobject.htm\\ \\  +Eins der wichtigsten Objekte für Skripte. Es ist __das__ Standardobjekt in fast jedem Skript. Daher wird der Zugriff meist aus Performance-Gründen global definiert.\\  Hilfreiche Zusammenstellung von Skriptbeispielen: http://www.oc-s.com/tutorials/WSH/filesystemobject.htm\\ \\  
-====== Definieren ====== + 
- VBScript:\\ +==== Definieren ==== 
 +//VBScript:// 
 + 
 +<code JavaScript [enable_line_numbers="true"]>
   Dim fso   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")   Set fso = CreateObject("Scripting.FileSystemObject")
-JScript:\\ +</code>   
 + 
 +//JScript:// 
 + 
 +<code JavaScript [enable_line_numbers="true"]>
   var fso = new ActiveXObject("Scripting.FileSystemObject");   var fso = new ActiveXObject("Scripting.FileSystemObject");
-====== Zerstören ====== +</code>   
- Es empfiehlt sich Objekte bei Beendigung frei zu geben. Da es meist global definiert wird, sollte gewährleistet sein, dass bei Programmbeendigung das Objekt frei gegeben wird. Beispiel siehe: [[/Scriptger%C3%BCst%20%28VBScript%29|Scriptgerüst (VBScript)]]\\  VBScript:\\ + 
 +==== Zerstören ==== 
 + 
 +Es empfiehlt sich Objekte bei Beendigung frei zu geben. Da es meist global definiert wird, sollte gewährleistet sein, dass bei Programmbeendigung das Objekt frei gegeben wird. Beispiel siehe: [[/Scriptger%C3%BCst%20%28VBScript%29|Scriptgerüst (VBScript)]] 
 + 
 +//VBScript:// 
 +<code VBScript [enable_line_numbers="true"]> 
   Set fso = Nothing   Set fso = Nothing
-====== Pfadfunktionen ====== +</code>   
-===== Laufwerk bestimmen ===== + 
- VBScript:\\ +===== Pfadfunktionen ===== 
 +==== Laufwerk bestimmen ==== 
 + 
 +//VBScript://  
 + 
 +<code VBScript [enable_line_numbers="true"]>
   sDrive = fso.GetDriveName(sFullPath)   sDrive = fso.GetDriveName(sFullPath)
-===== Verzeichnis extrahieren ===== +</code> 
- VBScript:\\ +   
 +==== Verzeichnis extrahieren ==== 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]>
   sDir = fso.GetParentFolderName(sFullPath)   sDir = fso.GetParentFolderName(sFullPath)
-===== Dateiname extrahieren ===== +</code> 
- Ermittelt Dateinamen mit Dateiendung\\  VBScript:\\ +   
 +==== Dateiname extrahieren ==== 
 + 
 +Ermittelt Dateinamen mit Dateiendung 
 + 
 +//VBScript:// 
 +  
 +<code VBScript [enable_line_numbers="true"]>
   sFileName = fso.GetFileName(sFullPath)   sFileName = fso.GetFileName(sFullPath)
-===== Basisnamen extrahieren ===== +</code> 
- Ermittelt Dateinamen, jedoch ohne Dateityp\\  VBScript:\\ +   
 +==== Basisnamen extrahieren ==== 
 + 
 +Ermittelt Dateinamen, jedoch ohne Dateityp 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]> 
   sBaseName = fso.GetBaseName(sFullPath)   sBaseName = fso.GetBaseName(sFullPath)
-===== Erweiterung extrahieren ===== +</code> 
- Ermittelt Dateiendung/-typ\\  VBScript:\\ +   
 +==== Erweiterung extrahieren ==== 
 + 
 +Ermittelt Dateiendung/-typ 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]> 
   sExt = fso.GetExtensionName(sFullPath)   sExt = fso.GetExtensionName(sFullPath)
-===== Pfade kombinieren ===== +</code> 
- Setzt zwei Teilpfade zu einem kompletten Pfad zusammen\\  VBScript:\\ +   
 +==== Pfade kombinieren ==== 
 + 
 +Setzt zwei Teilpfade zu einem kompletten Pfad zusammen 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]>
   sResultPath = fso.BuildPath(sDir, sFileName)   sResultPath = fso.BuildPath(sDir, sFileName)
-===== Absoluten Pfad ermitteln ===== +</code> 
- Wird benötigt um einen absoluten Pfad zu konsolidieren. Zu weiteren Handhabung siehe die [[/Hilfe%20zu%20JS%20und%20VBS|VBScript-Hilfe]]\\  VBScript:\\ +   
 +==== Absoluten Pfad ermitteln ==== 
 + 
 +Wird benötigt um einen absoluten Pfad zu konsolidieren. Zu weiteren Handhabung siehe die [[/Hilfe%20zu%20JS%20und%20VBS|VBScript-Hilfe]] 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]> 
   sGuiltyPath = fso.GetAbsolutePathName(sAskPath)   sGuiltyPath = fso.GetAbsolutePathName(sAskPath)
-===== Temp-Verzeichnis ermitteln ===== +</code>   
- Wird oft benötigt: Das temporäre Computerverzeichnis\\ + 
 +==== Temp-Verzeichnis ermitteln ==== 
 + 
 +Wird oft benötigt: Das temporäre Computerverzeichnis 
 + 
 +<code VBScript [enable_line_numbers="true"]> 
   sTempPath = fso.GetSpecialFolder(2)   sTempPath = fso.GetSpecialFolder(2)
-\\  +</code>   
-====== Laufwerksfunktionen ====== +  
- Hiermit kann ermittelt werden, welche Laufwerke es gibt, ob ein Laufwerk verfügbar ist, freien Speicherplatz etc. Hier kann nur ein grober Abriss der Möglichkeiten aufgezeigt werden. Siehe Drive-Objekt in der WSH-Hilfe\\ \\  +===== Laufwerksfunktionen ===== 
-===== Laufwerksobjekt erstellen ===== + 
- VBScript:\\ +Hiermit kann ermittelt werden, welche Laufwerke es gibt, ob ein Laufwerk verfügbar ist, freien Speicherplatz etc. Hier kann nur ein grober Abriss der Möglichkeiten aufgezeigt werden. Siehe Drive-Objekt in der WSH-Hilfe\\ \\  
 + 
 +==== Laufwerksobjekt erstellen ==== 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]> 
   Set oDrive = fso.GetDrive(fso.GetDriveName(sFullPath))   Set oDrive = fso.GetDrive(fso.GetDriveName(sFullPath))
-===== Verfügbare Laufwerke ermittelt ===== +</code>   
- (Laufwerke, die nicht bereit sind, werden nicht aufgeführt)\\  VBScript:\\ + 
 +==== Verfügbare Laufwerke ermittelt ==== 
 + 
 +(Laufwerke, die nicht bereit sind, werden nicht aufgeführt) 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]> 
   'Liefert aktuell verfügbare(!) Laufwerke   'Liefert aktuell verfügbare(!) Laufwerke
   Public Function ListReadyDrives   Public Function ListReadyDrives
Zeile 84: Zeile 160:
    End Select    End Select
   End Function   End Function
-===== Laufwerksbereitschaft ermitteln ===== +</code> 
- VBScript:\\ +   
 +==== Laufwerksbereitschaft ermitteln ==== 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]> 
   Set oDrive = fso.GetDrive(fso.GetDriveName(sFullPath))   Set oDrive = fso.GetDrive(fso.GetDriveName(sFullPath))
   If oDrive.IsReady Then   If oDrive.IsReady Then
Zeile 92: Zeile 173:
   End If   End If
   Set oDrive = Nothing   Set oDrive = Nothing
-===== Freien Speicherplatz ermitteln ===== +</code>   
- VBScript:\\ + 
 +==== Freien Speicherplatz ermitteln ==== 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]> 
   '...   '...
   Dim oDrive   Dim oDrive
Zeile 122: Zeile 208:
    End If    End If
   End Function   End Function
-====== Verzeichnisfunktionen ====== +</code> 
- Eines der Hauptfunktionen ist: Ist ein Verzeichnis vorhanden\\ +   
 +===== Verzeichnisfunktionen ===== 
 + 
 +Eines der Hauptfunktionen ist: Ist ein Verzeichnis vorhanden 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]> 
   If fso.FolderExists(sFolderPath) Then   If fso.FolderExists(sFolderPath) Then
       'Code, wenn Verzeichnis da ist       'Code, wenn Verzeichnis da ist
Zeile 130: Zeile 223:
       MsgBox "Verzeichnis fehlt!", vbExclamation       MsgBox "Verzeichnis fehlt!", vbExclamation
   End If   End If
-===== Folder-Objekt ===== +</code> 
- Das Folder-Objekt liefert die verschiedensten Verzeichniseigenschaften und Methoden. Man kann damit Verzeichnis-Attribute, Zeiteigenschaften, Pfadeigenschaften lesen und schreiben. Oder man kann Unterverzeichnisse oder im Verzeichnis enthaltene Dateien ermitteln, das angesprochene Verzeichnis kopieren, löschen oder verschieben. Hier sollen nur einige wesentliche Eigenschaften oder Methoden aufgeführt werden, um die enorme Leistungsfähigkeit zu zeigen. Für die umfangreiche Hilfe siehe die [[/Hilfe%20zu%20JS%20und%20VBS|WSH-Scripthilfe]]. Die folgenden Beispiele beruhen auf dem Folder-Objekt.\\  +   
-==== Definieren ==== +==== Folder-Objekt ==== 
- VBScript:\\ + 
 +Das Folder-Objekt liefert die verschiedensten Verzeichniseigenschaften und Methoden. Man kann damit Verzeichnis-Attribute, Zeiteigenschaften, Pfadeigenschaften lesen und schreiben. Oder man kann Unterverzeichnisse oder im Verzeichnis enthaltene Dateien ermitteln, das angesprochene Verzeichnis kopieren, löschen oder verschieben. Hier sollen nur einige wesentliche Eigenschaften oder Methoden aufgeführt werden, um die enorme Leistungsfähigkeit zu zeigen. Für die umfangreiche Hilfe siehe die [[/Hilfe%20zu%20JS%20und%20VBS|WSH-Scripthilfe]]. Die folgenden Beispiele beruhen auf dem Folder-Objekt.\\  
 +=== Definieren === 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]> 
   Dim oFolder   Dim oFolder
   Set oFolder = fso.GetFolder(sFolderPath)   Set oFolder = fso.GetFolder(sFolderPath)
-==== Zerstören ==== +</code>   
- VBScript:\\ +=== Zerstören === 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]> 
   Set oFolder = Nothing   Set oFolder = Nothing
-==== Erzeugen ==== +</code>   
- VBScript:\\ +=== Erzeugen === 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]> 
   if not fso.FolderExists(sFolderPath) then   if not fso.FolderExists(sFolderPath) then
       fso.CreateFolder(sFolderPath)       fso.CreateFolder(sFolderPath)
   end if   end if
 +</code>  
 +
 Es kann nur ein Ordner angelegt werden, dessen übergeordnete Ordner bereits vorhanden ist. Sonst erfolgt eine Fehlermeldung.\\ \\  Es kann nur ein Ordner angelegt werden, dessen übergeordnete Ordner bereits vorhanden ist. Sonst erfolgt eine Fehlermeldung.\\ \\ 
-===== Ermittlung aller Unterordner in einem Ordner ===== + 
- VBScript:\\ +==== Ermittlung aller Unterordner in einem Ordner ==== 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]> 
   Set ofolders = fso.getfolder(C:\test\")   Set ofolders = fso.getfolder(C:\test\")
   Set osubfolder = ofolders.Subfolders   Set osubfolder = ofolders.Subfolders
Zeile 154: Zeile 267:
   set osubfolder = nothing   set osubfolder = nothing
   set ofolders = nothing   set ofolders = nothing
-\\  +</code>   
-===== Rekursives Einlesen von Dateien mit Filterkriterien, optional inkl. Unterverzeichnisse ===== +  
- VBScript:\\ +==== Rekursives Einlesen von Dateien mit Filterkriterien, optional inkl. Unterverzeichnisse ==== 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]> 
   'Stand: 27.01.2011   'Stand: 27.01.2011
   Option Explicit   Option Explicit
Zeile 299: Zeile 416:
   End Class   End Class
   '::::::::::::::::::::::::::::::::::::::::::   '::::::::::::::::::::::::::::::::::::::::::
-====== Dateifunktionen ====== +</code> 
- Das wichtigste überhaupt ist; festzustellen, ob eine Datei vorhanden ist:\\ +   
 +===== Dateifunktionen ===== 
 + 
 +Das wichtigste überhaupt ist; festzustellen, ob eine Datei vorhanden ist:  
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]>
   If fso.FileExists(sFile) Then   If fso.FileExists(sFile) Then
       'Code, wenn Datei da ist       'Code, wenn Datei da ist
Zeile 307: Zeile 431:
       MsgBox "Datei fehlt!", vbExclamation       MsgBox "Datei fehlt!", vbExclamation
   End If   End If
-===== File-Objekt ===== +</code> 
- Das File-Objekt liefert die verschiedensten Dateieigenschaften und Methoden. Man kann damit Datei-Attribute, Zeiteigenschaften, Pfadeigenschaften lesen und schreiben. Es ist auch __eine__ Möglicheit Dateien zu verschieben, kopieren oder zu löschen. Für die umfangreiche Hilfe siehe die [[/Hilfe%20zu%20JS%20und%20VBS|WSH-Scripthilfe]]. Die folgenden Beispiele beruhen auf dem File-Objekt.\\  +   
-==== Definieren ==== +==== File-Objekt ==== 
- VBScript:\\ + 
 +Das File-Objekt liefert die verschiedensten Dateieigenschaften und Methoden. Man kann damit Datei-Attribute, Zeiteigenschaften, Pfadeigenschaften lesen und schreiben. Es ist auch __eine__ Möglicheit Dateien zu verschieben, kopieren oder zu löschen. Für die umfangreiche Hilfe siehe die [[/Hilfe%20zu%20JS%20und%20VBS|WSH-Scripthilfe]]. Die folgenden Beispiele beruhen auf dem File-Objekt.  
 + 
 +=== Definieren === 
 +//VBScript:// 
 +  
 +<code VBScript [enable_line_numbers="true"]>
   Dim oFile   Dim oFile
   Set oFile = fso.GetFile(sFileFullPath)   Set oFile = fso.GetFile(sFileFullPath)
-==== Zerstören ==== +</code>   
- VBScript:\\ + 
 +=== Zerstören === 
 + 
 +//VBScript://  
 + 
 +<code VBScript [enable_line_numbers="true"]>
   Set oFile = Nothing   Set oFile = Nothing
-==== Dateigröße ermitteln: ==== +</code>   
- VBScript:\\ + 
 +=== Dateigröße ermitteln: === 
 + 
 +// VBScript:// 
 + 
 +<code JavaScript [enable_line_numbers="true"]> 
   Option Explicit   Option Explicit
  
Zeile 341: Zeile 481:
       Set oFile = Nothing       Set oFile = Nothing
   End Sub   End Sub
-==== Dateiattribute lesen/setzen: ==== +</code> 
- Dieses Beispiel löscht die Attribute "ReadOnly" und "Hidden" und setzt das Attribute "Archive", damit es vom Backup erneut erfasst wird.\\  VBScript:\\ +   
 +=== Dateiattribute lesen/setzen: === 
 + 
 +Dieses Beispiel löscht die Attribute "ReadOnly" und "Hidden" und setzt das Attribute "Archive", damit es vom Backup erneut erfasst wird. 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]>
   'Attribute   'Attribute
  
Zeile 387: Zeile 534:
       Set oFile = Nothing       Set oFile = Nothing
   End Sub   End Sub
-\\  +</code> 
-==== Prüfen, ob Datei existiert ==== + 
- VBScript:\\ +=== Prüfen, ob Datei existiert === 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]> 
   Function FileExists(ByVal uFileName)   Function FileExists(ByVal uFileName)
       Dim fso       Dim fso
Zeile 396: Zeile 547:
       Set fso = Nothing       Set fso = Nothing
   End Function   End Function
-\\  +</code>   
-==== Letzten Schreibzugriff ermitteln ==== +   
- Manchmal ist es nötig zu ermitteln, wann eine Datei das letztemal geschrieben wurde. Das ist z. B. bei Kopiervorgängen wichtig, um festzustellen, welche Datei neuer ist.\\  VBScript:\\ +=== Letzten Schreibzugriff ermitteln === 
 + 
 +Manchmal ist es nötig zu ermitteln, wann eine Datei das letztemal geschrieben wurde. Das ist z. B. bei Kopiervorgängen wichtig, um festzustellen, welche Datei neuer ist. 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]> 
   Option Explicit   Option Explicit
  
Zeile 422: Zeile 579:
       Set oFile = Nothing       Set oFile = Nothing
   End Sub   End Sub
 +</code>