Datei Eigenschaften auslesen

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

BlitzMoritz

Betreff: Datei Eigenschaften auslesen

BeitragMi, Feb 20, 2008 12:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Könnte mir jemand bitte einen Tipp geben, ob bzw. mit welchem Befehl es möglich ist,
von einer Datei alle möglichen Informationen plattformunabhängig auszulesen, z.B.:
Zugriffsrechte (überschreibbar, lesbar), ausführbar, versteckt, etc.
Vielleicht kann man mit FileMode irgendetwas anstellen? Aber diese Function
gibt mir eine Zahl zurück, von der ich (noch) nicht weiß, wie man sie "lesen" soll.
Idea
- Ich hab's eben durch Experimentieren herausbekommen: Man muss sie "oktal" lesen.
Diesbezüglich habe ich eine kleine Function gebaut, die die zurückgegebene FileMode-Zahl
in den üblichen Unix-String aus neun Zeichen zurückverwandelt.
Code: [AUSKLAPPEN]
Local Zugriffsrechte:String
Local Datei:String
Repeat
   Datei = RequestFile("")
   Zugriffsrechte = Dateizugriff(Datei)
   Notify "Die Datei " + Datei + "~nhat die Zugriffsrechte: " + Zugriffsrechte
Until Datei = ""
'--------------------------------------------------------------------------------------------------------
Function Dateizugriff:String(Path$)
   If FileType(Path$) = 0 Then Return "---------"
   Local FileMod:Int = FileMode(Path$)
   Local OktalZiffer:Int[3]
   OktalZiffer[0] = FileMod Mod 8
   OktalZiffer[1] = (FileMod / 8 ) Mod 8
   OktalZiffer[2] = ((FileMod / 8 ) / 8 ) Mod 8
   Local Zugriff:String    
   For Local i:Int = 0 To 2
      Select OktalZiffer[i]
         Case 0
            Zugriff = "---" + Zugriff
         Case 1
            Zugriff = "--x" + Zugriff
         Case 2
            Zugriff = "-w-" + Zugriff
         Case 3
            Zugriff = "-wx" + Zugriff
         Case 4
            Zugriff = "r--" + Zugriff
         Case 5
            Zugriff = "r-x" + Zugriff
         Case 6
            Zugriff = "rw-" + Zugriff
         Case 7
            Zugriff = "rwx" + Zugriff
      End Select
   Next
   Return Zugriff
End Function

Weiterhin (noch) ungelöst ist die Sache mit den versteckten Dateien,
zumindest unter Windows. Bei MacOS und Linux werden versteckte Dateien
ja direkt im Dateinamen durch einen vorangestellten Punkt gekennzeichnet.
Aber wie lässt sich dies bei Windows abfragen? FileMode birgt ja keine
weiteren Informationen mehr.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group