Seite 1 von 1

Dateisystem ermitteln [X]

Verfasst: 08.02.2008 16:58
von RSBasic
Hola :)

Wie kann ich von einem Dateiträger das Dateisystem ermitteln?

Verfasst: 08.02.2008 17:17
von scholly
Windows ?
Über GetVolumeInformation_() ?
BOOL GetVolumeInformation(

LPCTSTR lpRootPathName, // address of root directory of the file system
LPTSTR lpVolumeNameBuffer, // address of name of the volume
DWORD nVolumeNameSize, // length of lpVolumeNameBuffer
LPDWORD lpVolumeSerialNumber, // address of volume serial number
LPDWORD lpMaximumComponentLength, // address of system’s maximum filename length
LPDWORD lpFileSystemFlags, // address of file system flags
LPTSTR lpFileSystemNameBuffer, // address of name of file system
DWORD nFileSystemNameSize // length of lpFileSystemNameBuffer
)

Code: Alles auswählen

; based on bingo:
; http://www.purebasic.fr/german/archive/viewtopic.php?t=2480

Root$="c:\"         ; Root Directory NUR mit "\" 
VNB$=Space(100)     ; Volume Name Buffer 
VNS=100             ; Volume Name Size 
VSN=0               ; Volume Serial Number (Hex) 
MCL=0               ; Max.File Name Len 
FSF=0               ; File System Flags 
FSNB$=Space(100)    ; File System Name Buffer (FAT/NTFS usw) 
FSNS=100            ; File System Name BufferSize 

GetVolumeInformation_(@Root$,@VNB$,VNS,@VSN,@MCL,@FSF,@FSNB$,FSNS) 
          
Debug "Root-Letter:       "+Root$
Debug "Root-Name:         "+VNB$ 
Debug "Root-Serial:       "+Hex(VSN)
Debug "Root-FileSys:      "+FSNB$  
Manchmal hilft die Forum-Suche oder ein Blick ins Codearchiv :wink:

Verfasst: 08.02.2008 20:08
von RSBasic
@scholly
Oha, mist umsonst um Hilfe gesucht.
Trotzdem vielen Dank :)

Auch einen dicken Lob @Programie's Code:

Code: Alles auswählen

Procedure.s HDD(Drive$) 
 FileSystem$=Space(#MAX_PATH) 
 GetVolumeInformation_(@Drive$,0,255,0,0,0,@FileSystem$,255) 
 ProcedureReturn FileSystem$ 
EndProcedure 

Debug HDD("C:\")