Objekt.GetAbsolutePathName(Pfadangabe)

'morjen, Experten,

kann mir hier irgendjemand erklären, was die VBScript-Anweisung
Objekt.GetAbsolutePathName(Pfadangabe)
bringen soll, wenn man den Pfad angeben muß, um den Pfad herauszukriegen?
Ich hatte gehofft, diese Funktion nutzen zu können, um automatisch Dateien löschen zu können, aber die DeleteFile-Funktione will offenbar einen absoluten Pfad haben und den krieg ich irgendwie nicht ermittelt…

*zwischen-Verwirrung-und-Verzweiflung-schwankend*
Sibylle

kann mir hier irgendjemand erklären, was die
VBScript-Anweisung
Objekt.GetAbsolutePathName(Pfadangabe)
bringen soll, wenn man den Pfad angeben muß, um den Pfad
herauszukriegen?

Servus Sibylle

An die Funktion GetAbsolutePathName muss ein relativer Pfad übergeben werden, damit daraus ein absoluter Pfad ermittelt werden kann.

Beispiel:
Wenn der aktuelle Pfad „c:\temp\mist“ ist, dann ist

GetAbsolutePathName("..") = "c:\temp" (1 Stufe nach oben)
GetAbsolutePathName("..\..") = "c:\" (2 Stufen nach oben)
GetAbsolutePathName(".") = "c:\temp\mist" (der aktuelle Ordner)
GetAbsolutePathName("\") = "c:\" (der Root-Ordner)
GetAbsolutePathName("test") = "c:\temp\mist\test"

Alle Klarheiten beseitigt? :wink:

Roland

Hai, Roland

Beispiel:
Wenn der aktuelle Pfad „c:\temp\mist“ ist, dann ist
GetAbsolutePathName(„test“) = „c:\temp\mist\test“

hab ich probiert - bei mir kommt dabei „c:\test“ raus…

Alle Klarheiten beseitigt? :wink:

völlig!!!
Vielleich kannst Du mir das hier in einen brauchbaren Script korrigieren *auf-Knien-rutsch, anfleh, Gold-und-Edelsteine-anbiet*:

sub DeleteAFile(filespec)
Dim fso, datei, pfad
Set fso = CreateObject(„Scripting.FileSystemObject“)
set pfad = fso.GetAbsolutePathName(".")
datei = pfad & „/“ & filespec
If (fso.FileExists(datei)) Then
fso.DeleteFile(datei)
End If
set fso = nothing
End sub

Diese Variante bringt den Fehler „Objekt erforderlich: ‚[string: „C:“]‘“

*mitleidsheischende-Tränchen-produzierend*
Sibylle

Vielleich kannst Du mir das hier in einen brauchbaren Script
korrigieren *auf-Knien-rutsch, anfleh,
Gold-und-Edelsteine-anbiet*:

sub DeleteAFile(filespec)
Dim fso, datei, pfad
Set fso = CreateObject(„Scripting.FileSystemObject“)
set pfad = fso.GetAbsolutePathName(".")
datei = pfad & „/“ & filespec
If (fso.FileExists(datei)) Then
fso.DeleteFile(datei)
End If
set fso = nothing
End sub

Servus Sibylle

Wenn ich statt set pfad = … die syntaktisch richtige Anweisung pfad = … schreibe, dann tut die Funktion genau das, was sie tun soll - nämlich die übergebene Datei löschen.
(pfad ist ja kein Objekt so wie fso, sondern eine einfache String-Variable)

Wenn das der (einzige) Fehler war, dann nehme ich bitte das angebotene Gold … *g*

Küss die Hand
Roland

Nochmal Hai, Roland

Wenn ich statt set pfad = … die syntaktisch richtige
Anweisung pfad = … schreibe, dann tut die Funktion
genau das, was sie tun soll - nämlich die übergebene Datei
löschen.
(pfad ist ja kein Objekt so wie fso, sondern eine einfache
String-Variable)

Wenn ich das set rausschmeiße löscht er garnix - und das Ergebnis, daß die Methode liefert, lautet
C:/Bearbeitung/uebersic.asp
wobei der Inhalt von filspec „/Bearbeitung/uebersic.asp“ ist, der richtige Pfad wäre
„c:\Inetpub\wwwroot\page_neu_2002\dynamic/Bearbeitung/uebersic.asp“, wobei die letzten 2 „/“ natürlich verkehrtherum sind…

Das ganze findet übrigens in einer ASP-Seite statt, d.h. es soll

Wenn das der (einzige) Fehler war, dann nehme ich bitte das
angebotene Gold … *g*

*schnüff*

Küss die Hand

*ggg*

Sibylle

Wenn ich das set rausschmeiße löscht er garnix - und das
Ergebnis, daß die Methode liefert, lautet
C:/Bearbeitung/uebersic.asp
wobei der Inhalt von filspec „/Bearbeitung/uebersic.asp“ ist,
der richtige Pfad wäre
„c:\Inetpub\wwwroot\page_neu_2002\dynamic/Bearbeitung/uebersic.asp“,
wobei die letzten 2 „/“ natürlich verkehrtherum sind…

Das ganze findet übrigens in einer ASP-Seite statt, d.h. es
soll

Servus Sibylle

Ich schlage vor, das „/“ am Beginn von filspec wegzulassen.
Bei mir funktioniert es zwar auch mit diesem „/“, allerdings teste ich das Ganze als reines VB-Script und muss gestehen, dass ich von ASP keine Ahnung habe.

Dein letzter Satz ist übrigens unvollständig. Was soll geschehen??

Wenn es weiterhin nicht funktioniert, musst du dich evtl. an einen ASP-Experten wenden.

Grüße aus Ö.
Roland