Supportnet / Forum / Skripte(PHP,ASP,Perl...)
VBS Textausgabe mit Verzeichnisname
Frage
Hallo zusammen,
zur Abwechselung benötige ich mal Eure Hilfe, da ich gerade mächtig auf dem Schlauch stehe.
Wie lautet der VBScript Befehl um den Verzeichnisnamen mit ausgeben zu lassen?
die normale Ausgabe vom Inhalt eines Verzeichnises habe ich so gelöst
[quote]set i=fso.opentextfile("Inhalt.txt")[/quote]
Nun soll aber vor Inhalt.txt noch der Verzeichnisname stehen, also z.B. Excel - Inhalt.txt.
Der entsprechende .vsb wird in dem Verzeichnis ausgeführt und die Textdatei danach in ein anderes zur Archivierung gespeichert. Nun ist aber das Umbenennen mit der dauer läßtig.
Hilfe in Sicht? Um Ehrlich zu sein bin ich momentan ein wenig Faul um Stundenlang nachzublättern.
Ralf
Antwort 1 von Mubarak
Hi, könnte so funktionieren:
set n = "Excel"
set i = fso.opentextfile("n & Inhalt.txt")
MfG
set n = "Excel"
set i = fso.opentextfile("n & Inhalt.txt")
MfG
Antwort 2 von Thorsti
Hi!
Also wenn ich Dich richtig verstehe, dann möchtest Du eine Datei erzeugen. Dafür musst Du dem WSH das erstmal sagen. Mit dem obigen Code öffnest Du eine Datei nur zum Lesen. Schreibeneiner neuen Datei wäre so:
set i=fso.opentextfile("Inhalt.txt",2,true)
Jetzt möchtest Du noch den Verzeichnisnamen als Teil des Dateinamens? Dann ist die Frage, wie Du an den Verzeichnisnamen kommst. Steht der Name schon vorher fest, oder wird der erst zur Skriptlaufzeit bekannt?
Wenn er vorher feststeht dann so:
Wenn der Name in einer Variablen "verzeichnis" steht dann so:
Wenn vom Verzeichnisnamen der Pfad abgetrennt werden muss so:
Wenn es sich um das Verzeichnis handelt, in dem das Skript liegt dann:
Allerdings verstehe ich nicht, warum eine Datei den Namen ihres Verzeichnisses enthalten muss. Die Verbindung besteht doch schon durch den Pfad?
@Mubarak:
Wenn Du n in die Stringkonstante reinnimmst, erkennt der WSH das nicht mehr als Variable!
Gruss,
Thorsten
Also wenn ich Dich richtig verstehe, dann möchtest Du eine Datei erzeugen. Dafür musst Du dem WSH das erstmal sagen. Mit dem obigen Code öffnest Du eine Datei nur zum Lesen. Schreibeneiner neuen Datei wäre so:
set i=fso.opentextfile("Inhalt.txt",2,true)
Jetzt möchtest Du noch den Verzeichnisnamen als Teil des Dateinamens? Dann ist die Frage, wie Du an den Verzeichnisnamen kommst. Steht der Name schon vorher fest, oder wird der erst zur Skriptlaufzeit bekannt?
Wenn er vorher feststeht dann so:
set i=fso.opentextfile("Excel - Inhalt.txt",2,true)Wenn der Name in einer Variablen "verzeichnis" steht dann so:
set i=fso.opentextfile(verzeichnis&" - Inhalt.txt",2,true)Wenn vom Verzeichnisnamen der Pfad abgetrennt werden muss so:
set i=fso.opentextfile(fso.getbasename(verzeichnis)&" - Inhalt.txt",2,true)Wenn es sich um das Verzeichnis handelt, in dem das Skript liegt dann:
set i=fso.opentextfile(fso.getbasename(fso.getparentfoldername(wscript.scriptfullname))&" - Inhalt.txt",2,true)Allerdings verstehe ich nicht, warum eine Datei den Namen ihres Verzeichnisses enthalten muss. Die Verbindung besteht doch schon durch den Pfad?
@Mubarak:
Wenn Du n in die Stringkonstante reinnimmst, erkennt der WSH das nicht mehr als Variable!
Gruss,
Thorsten
Antwort 3 von Ralfman
Hi Muraback,
das funktioniert sicherlich, aber da ich viele Verzeichnisse habe (Vera, Kerstin, Ralf, Excel, Word, Downloads, Telefon, u.s.w.) und auch mal welche dazu kommen, möchte ich den Namen automatisch auslesen lassen.
Hast Du da eine Idee? Ich bin bereits am Blättern, aber die Lektüre ist so *!# Aufgebaut das ich (bisher) nichts finde. Und das wird von mir immer wieder benötigt (zur Aktualisierung), wenn´s nur eine einmalige Aktion währ würd ich kein gerede ´drum machen.
Ralf
das funktioniert sicherlich, aber da ich viele Verzeichnisse habe (Vera, Kerstin, Ralf, Excel, Word, Downloads, Telefon, u.s.w.) und auch mal welche dazu kommen, möchte ich den Namen automatisch auslesen lassen.
Hast Du da eine Idee? Ich bin bereits am Blättern, aber die Lektüre ist so *!# Aufgebaut das ich (bisher) nichts finde. Und das wird von mir immer wieder benötigt (zur Aktualisierung), wenn´s nur eine einmalige Aktion währ würd ich kein gerede ´drum machen.
Ralf
Antwort 4 von Ralfman
HI Thorsti,
hat sich wohl überschnitten, probier ich gleich mal aus. Melde mich gleich wieder.
Ralf
hat sich wohl überschnitten, probier ich gleich mal aus. Melde mich gleich wieder.
Ralf
Antwort 5 von Thorsti
Hi!
Ich glaub ich weiss jetzt was Du meinst! Du könnstest einen Array anlegen mit jedem Ordner als ein Element darin. Dann machst Du die Dateiöffnungen in einer Schleife für jedes Arrayelement:
Gruss,
Thorsten
Ich glaub ich weiss jetzt was Du meinst! Du könnstest einen Array anlegen mit jedem Ordner als ein Element darin. Dann machst Du die Dateiöffnungen in einer Schleife für jedes Arrayelement:
set fso=createobject("scripting.filesystemobject")
a=array("c:\bertha","d:\files\jürgen","e:\dokumente\Sabine")
for each ordner in a
set i=fso.opentextfile(fso.getbasename(ordner)&" - Inhalt.txt",2,true)
...
...
i.close
next
Gruss,
Thorsten
Antwort 6 von Ralfman
Thorsi ich muß Dir Danken,
funktioniert Hervorragend, ich mußte nur
i=fso.open... gegen
o=fso.open...
Austauschen.
Und mit dem öffnen der Datei hast Du recht, ich war in der Zeile Verrutscht beim Herauskopieren.
Danke, für die schnelle Hilfe.
Ralf
set i=fso.opentextfile(fso.getbasename(fso.getparentfoldername(wscript.scriptfullname))&" - Inhalt.txt",2,true)funktioniert Hervorragend, ich mußte nur
i=fso.open... gegen
o=fso.open...
Austauschen.
Und mit dem öffnen der Datei hast Du recht, ich war in der Zeile Verrutscht beim Herauskopieren.
Danke, für die schnelle Hilfe.
Ralf

