Probleme mit CurDir
Waldgeist
- vb-script
Hallo!
Ich versuche herraus zu finden in welchem Ordner ich mich befinde.
DIM Pfad As String
Pfad = CurDir$()
MsgBox Pfad
So klappt es leider nicht.
Weiß wer wie es geht?
Gruß
Waldgeist
Hallo
Ich versuche herraus zu finden in welchem Ordner ich mich befinde.
Ich habe keine Lösung über z.B. das FSO gefunden - was für mich naheliegend gewesen wäre.
Ich denke Du musst in die Richtung von ASP suchen. Ganz sicher gibts eine Methode die den aktuellen "ausführungspfad der ASP - Seite" zurückgibt.
HTH
kaepten
Hallo!
Ich brauche aber eine lösung in VBS, leider.
Irgendwie muss das denk ich gehen.
Sehe keinen Grund warum das nicht gehen sollte.
Gruß
Waldgeist
Hallo
Ich brauche aber eine lösung in VBS, leider.
Irgendwie muss das denk ich gehen.
Sehe keinen Grund warum das nicht gehen sollte.
Du verstehst mich falsch! Du suchst am falschen Ende.
Ich bin mir auch sicher dass Du an das "aktuelle Verzeichnis" rankommst. Aber nicht über FSO (Filesystem Objekte), sondern über "Webserver"-Objekte. Das wollte ich Dir sagen.
Es gibt kein aktuelles Verzeichnis! Es gibt höchstens das Verzeichnis woraus die aktuelle ASP-Seite aufgerufen wurde. Alles klar?
kaepten
Aber ich hab doch garkein ASP, kann auch keins Nutzen da ich keinen Webserver habe.
Ich hab ein Script das mir alle Unterordner eines Ordners anzeigt.
Und zwar genau immer von dem Ordner in dem sich auch das VBS file befindet. Also soll das Script jetzt ersmal auslesen in welchem Ordner es sich befindet und dann mit der Abfrage nach den Ordnern Starten.
<HTML>
<body>
<script Language="VBSCRIPT">
'Einfache HTML-Seite zur Demonstration, wie man mit VBA die Name der Unterordner eines Ordners ausliest
DIM FSO ' Variable für den Zugriff auf das File System Object
DIM oFolder ' Variable für den Ordner, in dem die Unterordner entstehen
DIM oSubFolder ' Variable für die Unterordner
DIM Folder ' Variabel für den Ordner, in dem die Unterordner entstehen
DIM Pfad
Pfad = ""
MsgBox Pfad
Folder = "E:"
' Zugriff auf das FSO herstellen
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = FSO.GetFolder(Folder)
document.write "<table border=1>"
document.write "<tr><td> Alle Unterordner des Ordners " & Folder & " </td></tr>"
For Each oSubFolder in oFolder.SubFolders
document.write "<tr><td> <a href="& Folder & oFolder.Name & oSubFolder.Name & "\VBS_exp2.htm >"& oSubFolder.Name &"</a></tr></td>"
Next
'Tabelle schliessen
document.write "</table>"
</script>
</body>
</HTML>
Hallo
Ach sch** - ICH hab Dich falsch verstanden sorry! Ich sag nichts mehr... :-)
Ja klar, irgenwie sollte man an das aktive Win-Verzeichnis kommen, da geb ich Dir recht.
kaepten
Schön das wir uns nun verstehen.
Und wie komme ich nun da drauf?
Hallo,
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(".")
MsgBox objFolder.Path
Set objFolder = Nothing
Set objFSO = Nothing
Tschau, Stefan
Hi Stefan
Das war jetzt wirklich gemein, ich hab mir solche Mühe gegeben etwas zu finen... ;-)
kaepten
Hi kaepten,
Das war jetzt wirklich gemein, ich hab mir solche Mühe gegeben etwas zu finen... ;-)
:) Doppelt gemoppelt hält doch eh besser ;)
Tschau, Stefan
Hey!
Danke hier beiden, hat super funktioniert!!!
Grüße aus Stuttgart
Waldgeist
mh, irgendwie geht es doch noch nicht.
mein Aktueller Ordner ist irgendwie immer der Desktop obwohl die Datei von E:\ gestartet wird. Warum?
DIM FSO ' Variable für den Zugriff auf das File System Object
DIM oFolder ' Variable für den Ordner, in dem die Unterordner entstehen
DIM oSubFolder ' Variable für die Unterordner
DIM Folder ' Variabel für den Ordner, in dem die Unterordner entstehen
DIM Pfad
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(".")
MsgBox objFolder.Path
Folder = objFolder
Set objFolder = Nothing
Set objFSO = Nothing
' Zugriff auf das FSO herstellen
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = FSO.GetFolder(Folder)
document.write "<table border=1>"
document.write "<tr><td> Alle Unterordner des Ordners " & Folder & " </td></tr>"
For Each oSubFolder in oFolder.SubFolders
document.write "<tr><td> <a href="& Folder & oFolder.Name & oSubFolder.Name & "\VBS_exp2.htm >"& oSubFolder.Name &"</a></tr></td>"
Next
'Tabelle schliessen
document.write "</table>"
</script>
</body>
</HTML>
mh, irgendwie geht es doch noch nicht.
mein Aktueller Ordner ist irgendwie immer der Desktop obwohl die Datei von E:\ gestartet wird. Warum?
DIM FSO ' Variable für den Zugriff auf das File System Object
DIM oFolder ' Variable für den Ordner, in dem die Unterordner entstehen
DIM oSubFolder ' Variable für die Unterordner
DIM Folder ' Variabel für den Ordner, in dem die Unterordner entstehen
DIM Pfad
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(".")
MsgBox objFolder.Path
Folder = objFolder
Set objFolder = Nothing
Set objFSO = Nothing
' Zugriff auf das FSO herstellen
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = FSO.GetFolder(Folder)
document.write "<table border=1>"
document.write "<tr><td> Alle Unterordner des Ordners " & Folder & " </td></tr>"
For Each oSubFolder in oFolder.SubFolders
document.write "<tr><td> <a href="& Folder & oFolder.Name & oSubFolder.Name & "\VBS_exp2.htm >"& oSubFolder.Name &"</a></tr></td>"
Next
'Tabelle schliessen
document.write "</table>"
</script>
</body>
</HTML>
mh, irgendwie geht es doch noch nicht.
mein Aktueller Ordner ist irgendwie immer der Desktop obwohl die Datei von E:\ gestartet wird. Warum?
DIM FSO ' Variable für den Zugriff auf das File System Object
DIM oFolder ' Variable für den Ordner, in dem die Unterordner entstehen
DIM oSubFolder ' Variable für die Unterordner
DIM Folder ' Variabel für den Ordner, in dem die Unterordner entstehen
DIM Pfad
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(".")
MsgBox objFolder.Path
Folder = objFolder
Set objFolder = Nothing
Set objFSO = Nothing
' Zugriff auf das FSO herstellen
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = FSO.GetFolder(Folder)
document.write "<table border=1>"
document.write "<tr><td> Alle Unterordner des Ordners " & Folder & " </td></tr>"
For Each oSubFolder in oFolder.SubFolders
document.write "<tr><td> <a href="& Folder & oFolder.Name & oSubFolder.Name & "\VBS_exp2.htm >"& oSubFolder.Name &"</a></tr></td>"
Next
'Tabelle schliessen
document.write "</table>"
</script>
</body>
</HTML>
Hallo
Lass das Mehrfach-Posten, das wird ganz und gar nicht gern gesehen! Ich habs schon gesehen, aber nicht geantwortet siehe nächster Satz:
Leider kann ich nicht mehr helfen, da ich den Code von Dir hier nicht testen kann und mich mit VBS zu wenig auskenne.
Sorry
kaepten
Hallo!
Schade das du mir da nimmer weiter helfen kannst.
Aber hast mir ja auch schon ein ganzes Stück weiter geholfen.
Dank dir!
Gruß Waldgeist
Hallo Waldgeist
Ich habe das Script doch testen können.
Habe dazu nur die Zeilen hier genommen:
DIM FSO ' Variable für den Zugriff auf das File System Object
DIM oFolder ' Variable für den Ordner, in dem die Unterordner entstehen
DIM oSubFolder ' Variable für die Unterordner
DIM Folder ' Variabel für den Ordner, in dem die Unterordner entstehen
DIM Pfad
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(".")
MsgBox objFolder.Path
Folder = objFolder
Set objFolder = Nothing
Set objFSO = Nothing
Ich kann Dir aber leider nur berichten, dass die Alertbox schön brav genau das Verzeichnis anzeigt, aus welchem ich die VBS Datei gestartet habe! Zu testzwecke habe ich es in unterschiedliche Laufwerke und Verzeichnise kopiert...
kaepten
Waldgeist
Gut dass wir uns nach 6 Postings dem Problem annehmen können! *freufreu*
Also, als "Entschädigung" habe ich gegoogelt und folgendes gefunden:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/jsmthgetfolder.asp
ZITAT:
Arguments
object
Required. Always the name of a FileSystemObject.
folderspec
Required. The folderspec is the path (absolute or relative) to a specific folder.
Woraus ich folgere, dass folgende Zeile effektiv den aktuellen Folder bringt.
Dim CurrentFolder: Set CurrentFolder = fso.GetFolder(".")
Probiers mal aus.
cheers
kaepten