Forum: PC-Programmierung VBS zum Speichern von Dateien


von Jakob P. (jako_e)


Angehängte Dateien:

Lesenswert?

Hallo, Ich brauche ein VBS Skript zum
Speichern von Dateien.
Es soll den Pfad in eine TXT-Datei Schreiben.
Vielen Dank für euere Hilfe.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Und wo liegt jetzt Dein Problem?

Wer soll dieses Skript wann und wie und warum aufrufen? Und welchen Pfad 
meinst Du?

Welchen Teil der VBS-Dokumentation verstehst Du nicht?

von Jakob P. (jako_e)


Lesenswert?

Ich will das wenn ich diese VBS-Datei Starte,
Ein Fenster mit SPEICHERN UNTER... aufgeht
und diesen Pfad in einer TXT-Datei Speichert

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Aha. Nun, das ist nicht ganz einfach; Du musst herausfinden, wie Du per 
Automation Windows bzw. ein darunter installiertes Programm dazu 
bekommst, den Datei-speichern-unter-Dialog anzuzeigen.

Das Resultat in eine Datei zu schreiben ist hingegen trivial.

Die Laufzeitumgebung von VBS (der "Windows Scripting Host", cscript.exe 
bzw. wscript.exe) sieht selbst keine Möglichkeit vor, auf GUI-Elemente 
und -Dialoge zuzugreifen, wscript.exe kann lediglich einfache 
Messageboxen erzeugen, die aber nur einen Text und einen OK-Knopf 
enthalten.

Der Weg jedenfalls ist nicht einfach:

http://stackoverflow.com/questions/4386124/how-can-i-use-the-common-save-as-dialog-from-vbscript

von Jakob P. (jako_e)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Die Laufzeitumgebung von VBS (der "Windows Scripting Host", cscript.exe
> bzw. wscript.exe) sieht selbst keine Möglichkeit vor, auf GUI-Elemente
> und -Dialoge zuzugreifen, wscript.exe kann lediglich einfache
> Messageboxen erzeugen, die aber nur einen Text und einen OK-Knopf
> enthalten.

Doch, mann Kann mit wscript.exe Dialog-Boxen erzeugen
Hat nicht jemand einen Code dafür mit einer Anderen Programmier Sprache?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jakob P. schrieb:
> Doch, mann Kann mit wscript.exe Dialog-Boxen erzeugen

Kann man eben nicht, bzw. nur über den Umweg der Nutzung fremder 
Automationsserver. Das ist ja die Crux.

Wozu soll Dein Skript da eigentlich dienen, und warum muss das VBS sein?

von Jakob P. (jako_e)


Lesenswert?

Ich will in einem Selbstgebauten Programm
eine einfache Möglichkeit, eine Festplatte
auszuwählen,auf der Festplatte soll eine Config.txt gespeichert werden:
Mir geht es darum das Ich den Wert in einer TXT speichern kann.
die Programmier Sprache dabei ist mit egal, VBS ist leichter zu 
verändern.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jakob P. schrieb:
> Ich will in einem Selbstgebauten Programm
> eine einfache Möglichkeit, eine Festplatte
> auszuwählen

Dann mach das doch einfach in Deinem "selbstgebauten Programm", indem Du 
die dafür gedachten Funktionen der Windows-API verwendest:

https://msdn.microsoft.com/en-us/library/bb762115%28VS.85%29.aspx

von Günter Lenz (Gast)


Lesenswert?

Im Befehlsfenster (CMD) einfach folgendes eingeben:

CD > Pfad.txt

von Jakob P. (jako_e)


Lesenswert?

Ich habe einen Code!
MsgBox BrowseForFile
Set FSO = CreateObject("Scripting.FileSystemObject")
Set MyFile = FSO.CreateTextFile("c:\users\Jakob\Desktop\Testdatei.txt ", 
TRUE)
MyFile.Close
Function BrowseForFile()
    Dim shell : Set shell = CreateObject("Shell.Application")
    Dim file : Set file = shell.BrowseForFolder(0, "Choose a file:", 
&H4000)
    BrowseForFile = file.self.Path
End Function

  Set MyFile = FSO.OpenTextFile("c:\users\Jakob\Desktop\Testdatei.txt", 
8)
  MyFile.WriteLine (BrowseForFile)
        MyFile.WriteLine ("Ende")
MyFile.Close

aber er öffnet 2 mal das Fenster:
wie bekomme ich das weg?
das erste fenster macht nichts
nur das 2te schreibt

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Lies Dir doch einfach mal Deinen "Code" durch, und versuch selbst 
rauszufinden, was der macht.

Und sieh Dir mal grundlegendes zur Syntax von VBS an; was sind 
Funktionen, wo deklariert man sie, und wie sieht der allgemeine 
Programmfluss aus? Und was geschieht, wenn man den gleichen Code zweimal 
hinschreibt?

von Günter Lenz (Gast)


Lesenswert?

Jakob P. schrieb:
>Mir geht es darum das Ich den Wert in einer TXT speichern kann.

Was ist mit Wert gemeint?

von Günter Lenz (Gast)


Lesenswert?

Jakob P. schrieb:
>Es soll den Pfad in eine TXT-Datei Schreiben.


dir /s /b /a-d > c:\users\Jakob\Desktop\Testdatei.txt


Damit werden alle Dateinamen mit Pfadangabe
aus allen Ordnern und Unterordnern
in Testdatei.txt gespeichert. Wenn du diese
Befehlszeile in eine *.bat datei schreibst
sparst du auch noch Tiparbeit beim Aufruf.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.