Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBScript einen Wert aus einer TXT auslesen und in eine Variable speichern

Frage Entwicklung VB for Applications

Mitglied: pictop

pictop (Level 1) - Jetzt verbinden

14.07.2011 um 08:55 Uhr, 11991 Aufrufe, 6 Kommentare

Guten Tag,

Da ich diese Woche das erste mal mit VBScript beschäftige habe hab ich leider nicht viel Ahnung von den ganzen.

Ich bräuchte eure Hilfe und zwar habe ich mit einen VBS einen wert einer Variable in einer TXT gespeichert. Ich möchte jetzt mit einen anderen Script diesen wert wider Auslesen und in eine andere Variable gespeichert werden.

Ausgelesen sollte immer die ganze TXT Datei werden (es handelt sich um 2 - 3 Wörter).


Ich wäre sehr froh, wen ihr mir helfen könntet.




Vielen Vielen dank,
Pictop
Mitglied: ackerdiesel
14.07.2011 um 09:37 Uhr
Hallo,
ungefär so:

Dim Variable As String = My.Computer.FileSystem.ReadAllText(Txt-Datei)

Gruß
ackerdiesel
Bitte warten ..
Mitglied: pictop
14.07.2011 um 13:35 Uhr
Hmm scheint nicht zu funktionieren kommt einen Fehler..

Name redefined



01.
 
02.
Public Variable 
03.
 
04.
 
05.
Dim Variable As String = My.Computer.FileSystem.ReadAllText("C:\Users\Public\OfficeProfil.txt") 
06.
 
07.
 
08.
Dim ObjShell 
09.
		Set ObjShell = CreateObject("WScript.Shell") 
10.
	ObjShell.RegWrite "HKEY_CURRENT_USER.........", Variable 
11.
 

In grunde möchte ich den inhalt der Txt in einer Reg feil abspeichern.

Danke für deine Hilfe.


Pictop
Bitte warten ..
Mitglied: mathe172
14.07.2011 um 14:44 Uhr
Hallo,

zuerst mal:
Dim Variable As String = My.Computer.FileSystem.ReadAllText(Txt-Datei)
Das funktioniert meines Wissens nach nur in .NET
Und eine Variable zweimal zu deklarieren, ist schwachsinn. Also entweder Public oder Dim - nicht beides.
Zum auslesen des Inhalts:
01.
Dim File as String 
02.
File="C:\Datei.txt" 
03.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
04.
Set objFile = objFSO.OpenTextFile(File, 1) 
05.
Dim Inhalt as String 
06.
Do Until objFile.AtEndOfStream 
07.
   Inhalt = Inhalt & objFile.ReadLine  
08.
Loop 
09.
' Oder statt Zeile 6-8 das: (wenns nur eine Zeile ist) 
10.
'Inhalt=obj.File.ReadLine 
11.
Wscript.echo Inhalt
Mathe172
[Edit: P.S.: Schau mal hier <-- Link!]
Bitte warten ..
Mitglied: pictop
14.07.2011 um 17:06 Uhr
Danke für deine Hilfe !!!!!


Lg
Tobias
Bitte warten ..
Mitglied: Friemler
14.07.2011 um 17:14 Uhr
Hallo Pictop,

schau Dir das mal an:
01.
Set objFSO    = CreateObject("Scripting.FileSystemObject") 
02.
Set objInFile = objFSO.OpenTextFile(strInFile, ForReading) 
03.
 
04.
While Not objInFile.AtEndOfStream 
05.
  strContent = strContent & objInFile.ReadLine & vbCRLF 
06.
Wend 
07.
 
08.
arrContent = Split(strContent, vbCRLF) 
09.
 
10.
For I = 0 To UBound(arrContent) - 1 
11.
  WScript.Echo arrContent(I) 
12.
Next
Die While-Schleife liest die Datei Zeile für Zeile ein und schreibt jede Zeile mit einem nachfolgenden Zeilenumbruch in den String strContent. Dieser String wird von der Funktion Split anhand des Zeilenumbruchs wieder in einzelne Zeilen zerlegt und aus den einzelnen Zeilen das Array arrContent erzeugt.

Das ist zwar umständlich (man könnte auch die Methode ReadAll des File-Objects verwenden), garantiert aber, dass es egal ist, ob die letzte Zeile der Datei mit einem Zeilenumbruch abgeschlossen ist oder nicht - das Array arrContent enthält in beiden Fällen die gleiche Anzahl von Elementen.

Das letzte Element diese Arrays ist immer leer, da die letzte Zeile der Datei ebenfalls mit einem nachfolgenden Zeilenumbruch in den String strContent geschrieben wird. Danach kommt nichts mehr, aber Split erzeugt wegen dem Zeilenumbruch dennoch ein zusätzliches (leeres) Arrayelement.

Die FOR-Schleife läuft deshalb von 0 bis zum größten Index des Arrays minus 1. Hier werden die Zeilen der Datei mit WScript.Echo ausgegeben.

Wenn Du den Inhalt der Zeilen bestimmten Variablen zuweisen willst, musst Du die Zeilennummer in der Datei kennen, in der der Wert für eine bestimmte Variable steht. Zeile 1 wäre dann Index 0 im Array, Zeile 2 Index 1 usw.

@mathe172 und ackerdiesel:
Was Ihr da verwendet ist Visual Basic, nicht Visual Basic Script. In VBS sind alle Variablen typenlos, Dinge wie Dim Var As String führen nur zu Fehlern.

Gruß
Friemler
Bitte warten ..
Mitglied: pictop
15.07.2011 um 17:57 Uhr
Danke dir!





Grüße,
Pictop
Bitte warten ..
Ähnliche Inhalte
PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

Batch & Shell
gelöst Werte aus CSV in TXT - Powershell (20)

Frage von Komoran12 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch: Aktuelle Codepage in Variable speichern (3)

Frage von tomaschku zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Firewall
Richtige Grundeinstellungen der Pfsense für mein Netzwerk (14)

Frage von Spitzbube zum Thema Firewall ...

Switche und Hubs
gelöst Cisco 2960x Stacking über mehrere Etagen (12)

Frage von b3scher zum Thema Switche und Hubs ...