Morgen alle zusammen,
kann mir jemand eine ("schnelle") Möglichkeit nennen den kompletten Laufwerksnamen statt nur den Laufwerksbuchstaben zu bekommen? Hilfe komplett durchgesucht, bekomme immer nur den Buchstaben raus (mit z.B. CurDrive()).
Brauche den Namen für ein automatisches Sicherungsprogramm um verschiedene Festplatten vergleichen/aussuchen/angeben zu können.
z.B.:
Montag -> Platte "BackUpMontag" benutzen
Mittwoch -> Platte "BackUpMittwoch" benutzen
Freitag -> Platte "BackUpAlles" benutzen
Automatische E-Mail mit Meldung welche Platte gesichert/verglichen/benutzt wurde etc...
Hoffe es ist verständlich.
Vielen Dank schon im voraus,
Gruß Alex
Ganzen Laufwerksnamen statt nur Buchstabe[ERLEDIGT]
Moderator: Moderatoren
Ganzen Laufwerksnamen statt nur Buchstabe[ERLEDIGT]
Zuletzt geändert von RUzZlacK am Do, 12. Mai 2016 13:06, insgesamt 1-mal geändert.
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Ganzen Laufwerksnamen statt nur Buchstabe
du meist sicherlich den Volumen Namen von einen Partition.RUzZlacK hat geschrieben:kann mir jemand eine ("schnelle") Möglichkeit nennen den kompletten Laufwerksnamen statt nur den Laufwerksbuchstaben zu bekommen?
Code: Alles auswählen
#include "dll.ch"
DLLFUNCTION GetVolumeInformationA( @lpRootPathName ,; // address of root directory of the file system
@lpVolumeNameBuffer ,; // address of name of the volume
nVolumeNameSize ,; // length of lpVolumeNameBuffer
@lpVolumeSerialNumber ,; // address of volume serial number
@lpMaximumComponentLength,; // address of system's maximum filename length
@lpFileSystemFlags ,; // address of file system flags
@lpFileSystemNameBuffer ,; // address of name of file system
nFileSystemNameSize ) USING OSAPI FROM KERNEL32.DLL // length of lpFileSystemNameBuffer
FUNCTION VOLINFO(WHATDRV)
LOCAL cDrive,cVolName,nVolLen ,nVolSer ,nCompLen,nFSFlags,cFSName ,nFSLen
IF PCOUNT() = 0
cDrive := "C:\"
ELSE
cDrive := WHATDRV
ENDIF
cVolName := SPACE(256)
nVolLen := 256
nVolSer := 0
nCompLen := 0
nFSFlags := 0
cFSName := SPACE(32)
nFSLen := 32
GetVolumeInformationA( @cDrive ,;
@cVolname ,;
nVolLen ,;
@nVolSer ,;
@nCompLen ,;
@nFSFlags ,;
@cFSName ,;
nFSLen )
cVolName := TRIM(cVolName)
cVolName := STRTRAN(cVolName,CHR(0),"")
* ? cVolName
* ? nVolSer
* ? nCompLen
* ? nFSFlags
* ? cFSName
RETURN (cVolName)
gruss by OHR
Jimmy
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Ganzen Laufwerksnamen statt nur Buchstabe
den volume Namen bekommt man einfacher:
Directory( "D:\", "V" ) --> aDirectory // eventuell auch "D:\*"
Directory( "D:\", "V" ) --> aDirectory // eventuell auch "D:\*"
<cAttribute>
Das Argument <cAttribute> ist eine Zeichenfolge, mit der Dateien anhand ihrer Dateiattribute in der Verzeichnissuche berücksichtigt werden. Für <cAttribute> kann eins oder mehrere der folgenden Zeichen angegeben werden: "D","H","S","V". Wenn "V" angegeben ist, wird nur der Name des Datenträgers (Volume) ermittelt, Dateien werden nicht eingelesen. Die Bedeutung der gültigen Zeichen für <cAttribute> ist wie folgt:
Directory()-Dateiattribute
Attribut Bedeutung
D Directory Verzeichnisse werden mit eingelesen
H Hidden Versteckte Dateien werden mit eingelesen
S System Systemdateien werden mit eingelesen
V Volume Nur Namen des Datenträgers feststellen und keine Dateien einlesen
Gruß
Hubert
Hubert
Re: Ganzen Laufwerksnamen statt nur Buchstabe
Stimmt..brandelh hat geschrieben:den volume Namen bekommt man einfacher:
Directory( "D:\", "V" ) --> aDirectory // eventuell auch "D:\*"
Erst vor kurzem Directory() benutzt aber das mit dem V komplett vergessen.
Danke...