![]() |
Verzeichnisgröße ermitteln
Wie es möglich ist, die Größe eines Verzeichnisses (inkl. Unterordner) zu ermitteln, zeigt Steve in
![]() Hinweis: Damit diese Funktion funktioniert, muss in der Systemsteuerung unter Verwaltung -> Dienste Scripting gestartet sein.
Delphi-Quellcode:
Luckie empfiehlt, diese Funktion in einen Thread auszulagern, da es bei größeren Verzeichnissen ein wenig dauern kann, bis die Größe ermittelt wurde.
uses
ComObj; function FolderSize(FolderName: string): Int64; var fldr, fso: OleVariant; begin fso := CreateOleObject('Scripting.FileSystemObject'); fldr := fso.GetFolder(FolderName); result := fldr.size; end; Edit: Nähere Erläuterungen, die den erforderlichen Dienst betreffen, sind den folgenden Beiträgen zu entnehmen. |
Re: Verzeichnisgröße ermitteln
Einführung!
FileSystemObject (Im späteren Verlauf mit FSO abgekürzt) ist eine von Microsoft geschaffene Plattform für die Programmierung von Webseiten und/oder Scripten. FSO ist quasi als Erweiterung zu dem Microsoft eigenen JScript zu sehen und wird vor allem bei ActivServer Pages, Windows Scripting Host und anderen Applikationen bei denen Scripte benutzt werden, eingesetzt. Mit FSO ist es möglich mit Hilfe von (Web-)Scripten auf Dateien und Verzeichnisse zuzugreifen, diese zu verändern oder anzulegen - ebenfalls kann mit Laufwerken gearbeitet werden. Einen kleinen Nachteil bringt FSO jedoch mit: Allein der Microsoft Internet Explorer unterstützt die Anwendung. Sicherheit! Auf Grund der Möglichkeit Daten auf dem Computer zu verändern sind des öfteren Fragen zur Sicherheit aufgetaucht. Seitdem es serverseitige (server-side) Anwendungen gibt sind jedoch die Sicherheitseigenschaften des Microsoft Internet Explorers so, dass sie keinen benutzertseitigen (client-side) Einsatz von FSO unterstützen. Das System sollte somit eigentlich sicher sein - 100% Sicherheit gibt es jedoch nicht. Um ganz sicher zu gehen, dass kein fremdes Skript mit FSO Daten auf Ihrem System löschen oder schreiben kann, sollten Sie die Möglichkeit ausschalten ActiveX-Objekte zu starten und die Sicherheitsstufe des Internet Explorers auf ein Maximum erhöhen. Ka wo das steht! Aber ein gewisses Risiko besteht vor allem könnte von verschiedenen Virenscannern das benutzen von scripts generell unterbunden werden. Das gilt dann Systemweit! Zitat:
Edit: Deaktivieren der Komponente FileSystemObject ASP, Windows Script Host und weitere Skriptinganwendungen verwenden die Komponente FileSystemObject (FSO), um Laufwerke, Ordner und Dateien zu erstellen, zu löschen und zu bearbeiten beziehungsweise um Informationen über diese abzurufen. Sie können die Komponente FileSystemObject deaktivieren, sollten dabei jedoch beachten, dass dadurch auch das Wörterbuchobjekt entfernt wird. Stellen Sie außerdem sicher, dass diese Komponente nicht von anderen Programmen benötigt wird. Anforderungen • Anmeldeinformationen: Sie müssen als ein Mitglied der Gruppe Administratoren am Webserver angemeldet sein. • Tools: Eingabeaufforderung. • So deaktivieren Sie die Komponente FileSystemObject 1. Klicken Sie auf Start, auf Ausführen, geben Sie im Feld Öffnen die Zeichenfolge cmd ein, und klicken Sie anschließend auf OK. 2. Wechseln Sie zum Verzeichnis C:\WINNT\system32. 3. Geben Sie in der Befehlszeile die Zeichenfolge regsvr32 scrrun.dll /u ein, und drücken Sie die Eingabetaste. Die folgende Meldung wird angezeigt: DllUnregisterServer in scrrun.dll erfolgreich durchgeführt. 4. Klicken Sie auf OK. 5. Geben Sie an der Eingabeaufforderung den Befehl exit ein, um das Fenster zu schließen. Zusätzlich also auch noch auf AntiVirus Soft hinweisen Welche ebenfalls das Scripting unterbindet. Dann läuft dein Code auch nicht mehr. gruß |
Re: Verzeichnisgröße ermitteln
Servus
Der Dienst is wohl nicht serienmäßig installiert. Laut M$ Knowledgebase: Zitat:
[Edit] Bei meinem Win 2k3 ist scrrun.dll im system32 ordner.
Code:
hat funktioniert. Muß aber neu starten
Regsvr32 SCRRUN.DLL
[/Edit] Greetz TwoFace |
Re: Verzeichnisgröße ermitteln
Zitat:
Aber Danke für die Info. "Scrrun.dll" bringt mich schon weiter. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz