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…
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
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?
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:“]‘“
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*
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*
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.