meta data for this page
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Nächste Überarbeitung | Vorherige Überarbeitung | ||
| filesystemobject [2016/10/08 17:58] – Externe Bearbeitung 127.0.0.1 | filesystemobject [2018/07/28 11:23] (aktuell) – michael | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | [[# | + | ===== 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.\\ | + | 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.\\ |
| - | ====== Definieren | + | |
| - | | + | ==== Definieren ==== |
| + | //VBScript:// | ||
| + | |||
| + | <code JavaScript [enable_line_numbers=" | ||
| Dim fso | Dim fso | ||
| Set fso = CreateObject(" | Set fso = CreateObject(" | ||
| - | JScript:\\ | + | </ |
| + | |||
| + | //JScript:// | ||
| + | |||
| + | <code JavaScript [enable_line_numbers=" | ||
| var fso = new ActiveXObject(" | var fso = new ActiveXObject(" | ||
| - | ====== 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: [[/ | + | |
| + | ==== 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: [[/ | ||
| + | |||
| + | //VBScript:// | ||
| + | <code VBScript [enable_line_numbers=" | ||
| Set fso = Nothing | Set fso = Nothing | ||
| - | ====== Pfadfunktionen | + | </ |
| - | ===== Laufwerk bestimmen | + | |
| - | | + | ===== Pfadfunktionen ===== |
| + | ==== Laufwerk bestimmen ==== | ||
| + | |||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| sDrive = fso.GetDriveName(sFullPath) | sDrive = fso.GetDriveName(sFullPath) | ||
| - | ===== Verzeichnis extrahieren | + | </ |
| - | | + | |
| + | ==== Verzeichnis extrahieren ==== | ||
| + | |||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| sDir = fso.GetParentFolderName(sFullPath) | sDir = fso.GetParentFolderName(sFullPath) | ||
| - | ===== Dateiname extrahieren | + | </ |
| - | | + | |
| + | ==== Dateiname extrahieren ==== | ||
| + | |||
| + | Ermittelt Dateinamen mit Dateiendung | ||
| + | |||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| sFileName = fso.GetFileName(sFullPath) | sFileName = fso.GetFileName(sFullPath) | ||
| - | ===== Basisnamen extrahieren ===== | + | </ |
| - | | + | |
| + | ==== Basisnamen extrahieren ==== | ||
| + | |||
| + | Ermittelt Dateinamen, jedoch ohne Dateityp | ||
| + | |||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| sBaseName = fso.GetBaseName(sFullPath) | sBaseName = fso.GetBaseName(sFullPath) | ||
| - | ===== Erweiterung extrahieren ===== | + | </ |
| - | | + | |
| + | ==== Erweiterung extrahieren ==== | ||
| + | |||
| + | Ermittelt Dateiendung/ | ||
| + | |||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| sExt = fso.GetExtensionName(sFullPath) | sExt = fso.GetExtensionName(sFullPath) | ||
| - | ===== Pfade kombinieren | + | </ |
| - | Setzt zwei Teilpfade zu einem kompletten Pfad zusammen\\ | + | |
| + | ==== Pfade kombinieren ==== | ||
| + | |||
| + | Setzt zwei Teilpfade zu einem kompletten Pfad zusammen | ||
| + | |||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| sResultPath = fso.BuildPath(sDir, | sResultPath = fso.BuildPath(sDir, | ||
| - | ===== Absoluten Pfad ermitteln | + | </ |
| - | Wird benötigt um einen absoluten Pfad zu konsolidieren. Zu weiteren Handhabung siehe die [[/ | + | |
| + | ==== Absoluten Pfad ermitteln ==== | ||
| + | |||
| + | Wird benötigt um einen absoluten Pfad zu konsolidieren. Zu weiteren Handhabung siehe die [[/ | ||
| + | |||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| sGuiltyPath = fso.GetAbsolutePathName(sAskPath) | sGuiltyPath = fso.GetAbsolutePathName(sAskPath) | ||
| - | ===== Temp-Verzeichnis ermitteln | + | </ |
| - | Wird oft benötigt: Das temporäre Computerverzeichnis\\ | + | |
| + | ==== Temp-Verzeichnis ermitteln ==== | ||
| + | |||
| + | Wird oft benötigt: Das temporäre Computerverzeichnis | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| sTempPath = fso.GetSpecialFolder(2) | sTempPath = fso.GetSpecialFolder(2) | ||
| - | \\ | + | </ |
| - | ====== Laufwerksfunktionen ====== | + | |
| - | | + | ===== Laufwerksfunktionen ===== |
| - | ===== Laufwerksobjekt erstellen | + | |
| - | | + | 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=" | ||
| Set oDrive = fso.GetDrive(fso.GetDriveName(sFullPath)) | Set oDrive = fso.GetDrive(fso.GetDriveName(sFullPath)) | ||
| - | ===== Verfügbare Laufwerke ermittelt ===== | + | </ |
| - | | + | |
| + | ==== Verfügbare Laufwerke ermittelt ==== | ||
| + | |||
| + | (Laufwerke, die nicht bereit sind, werden nicht aufgeführt) | ||
| + | |||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| ' | ' | ||
| Public Function ListReadyDrives | Public Function ListReadyDrives | ||
| Zeile 84: | Zeile 160: | ||
| End Select | End Select | ||
| End Function | End Function | ||
| - | ===== Laufwerksbereitschaft ermitteln | + | </ |
| - | | + | |
| + | ==== Laufwerksbereitschaft ermitteln ==== | ||
| + | |||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| 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 | + | </ |
| - | | + | |
| + | ==== Freien Speicherplatz ermitteln ==== | ||
| + | |||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| '... | '... | ||
| Dim oDrive | Dim oDrive | ||
| Zeile 122: | Zeile 208: | ||
| End If | End If | ||
| End Function | End Function | ||
| - | ====== Verzeichnisfunktionen ====== | + | </ |
| - | Eines der Hauptfunktionen ist: Ist ein Verzeichnis vorhanden\\ | + | |
| + | ===== Verzeichnisfunktionen ===== | ||
| + | |||
| + | Eines der Hauptfunktionen ist: Ist ein Verzeichnis vorhanden | ||
| + | |||
| + | // | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| 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 " | MsgBox " | ||
| End If | End If | ||
| - | ===== Folder-Objekt ===== | + | </ |
| - | Das Folder-Objekt liefert die verschiedensten Verzeichniseigenschaften und Methoden. Man kann damit Verzeichnis-Attribute, | + | |
| - | ==== Definieren | + | ==== Folder-Objekt ==== |
| - | | + | |
| + | Das Folder-Objekt liefert die verschiedensten Verzeichniseigenschaften und Methoden. Man kann damit Verzeichnis-Attribute, | ||
| + | === Definieren === | ||
| + | |||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| Dim oFolder | Dim oFolder | ||
| Set oFolder = fso.GetFolder(sFolderPath) | Set oFolder = fso.GetFolder(sFolderPath) | ||
| - | ==== Zerstören | + | </ |
| - | | + | === Zerstören === |
| + | |||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| Set oFolder = Nothing | Set oFolder = Nothing | ||
| - | ==== Erzeugen | + | </ |
| - | | + | === Erzeugen === |
| + | |||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| if not fso.FolderExists(sFolderPath) then | if not fso.FolderExists(sFolderPath) then | ||
| fso.CreateFolder(sFolderPath) | fso.CreateFolder(sFolderPath) | ||
| end if | end if | ||
| + | </ | ||
| + | |||
| 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 | + | |
| - | | + | ==== Ermittlung aller Unterordner in einem Ordner ==== |
| + | |||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| Set ofolders = fso.getfolder(C: | Set ofolders = fso.getfolder(C: | ||
| Set osubfolder = ofolders.Subfolders | Set osubfolder = ofolders.Subfolders | ||
| Zeile 154: | Zeile 267: | ||
| set osubfolder = nothing | set osubfolder = nothing | ||
| set ofolders = nothing | set ofolders = nothing | ||
| - | \\ | + | </ |
| - | ===== Rekursives Einlesen von Dateien mit Filterkriterien, | + | |
| - | | + | ==== Rekursives Einlesen von Dateien mit Filterkriterien, |
| + | |||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| ' | ' | ||
| Option Explicit | Option Explicit | ||
| Zeile 299: | Zeile 416: | ||
| End Class | End Class | ||
| ':::::::::::::::::::::::::::::::::::::::::: | ':::::::::::::::::::::::::::::::::::::::::: | ||
| - | ====== Dateifunktionen | + | </ |
| - | Das wichtigste überhaupt ist; festzustellen, | + | |
| + | ===== Dateifunktionen ===== | ||
| + | |||
| + | Das wichtigste überhaupt ist; festzustellen, | ||
| + | |||
| + | // | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| 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!", | MsgBox "Datei fehlt!", | ||
| End If | End If | ||
| - | ===== File-Objekt | + | </ |
| - | Das File-Objekt liefert die verschiedensten Dateieigenschaften und Methoden. Man kann damit Datei-Attribute, | + | |
| - | ==== Definieren | + | ==== File-Objekt ==== |
| - | | + | |
| + | Das File-Objekt liefert die verschiedensten Dateieigenschaften und Methoden. Man kann damit Datei-Attribute, | ||
| + | |||
| + | === Definieren === | ||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| Dim oFile | Dim oFile | ||
| Set oFile = fso.GetFile(sFileFullPath) | Set oFile = fso.GetFile(sFileFullPath) | ||
| - | ==== Zerstören | + | </ |
| - | | + | |
| + | === Zerstören === | ||
| + | |||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| Set oFile = Nothing | Set oFile = Nothing | ||
| - | ==== Dateigröße ermitteln: | + | </ |
| - | | + | |
| + | === Dateigröße ermitteln: === | ||
| + | |||
| + | // VBScript:// | ||
| + | |||
| + | <code JavaScript [enable_line_numbers=" | ||
| Option Explicit | Option Explicit | ||
| Zeile 341: | Zeile 481: | ||
| Set oFile = Nothing | Set oFile = Nothing | ||
| End Sub | End Sub | ||
| - | ==== Dateiattribute lesen/ | + | </ |
| - | | + | |
| + | === Dateiattribute lesen/ | ||
| + | |||
| + | Dieses Beispiel löscht die Attribute " | ||
| + | |||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| ' | ' | ||
| Zeile 387: | Zeile 534: | ||
| Set oFile = Nothing | Set oFile = Nothing | ||
| End Sub | End Sub | ||
| - | \\ | + | </ |
| - | ==== Prüfen, ob Datei existiert | + | |
| - | | + | === Prüfen, ob Datei existiert === |
| + | |||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| 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 | ||
| - | \\ | + | </ |
| - | ==== Letzten Schreibzugriff ermitteln | + | |
| - | | + | === 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, | ||
| + | |||
| + | //VBScript:// | ||
| + | |||
| + | <code VBScript [enable_line_numbers=" | ||
| Option Explicit | Option Explicit | ||
| Zeile 422: | Zeile 579: | ||
| Set oFile = Nothing | Set oFile = Nothing | ||
| End Sub | End Sub | ||
| + | </ | ||