Top-Themen

Aktuelle Themen (A bis Z)

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 VBS Wert aus einer Textdatei lesen und in eine andere Textdatei übertragen

Mitglied: mmatt851

mmatt851 (Level 1) - Jetzt verbinden

14.10.2011 um 10:42 Uhr, 4471 Aufrufe, 7 Kommentare

Hallo,

ich habe folgendes Problem. Leider bin ich "noch ein VBS Anfänger und ich soll ein kleines Programm schreiben welches die Werte aus einer Textdatei herauszieht ( ist immer die Letzte Zeile der gleichen Textdatei) und in eine andere Leere Textdatei schreibt. Von dieser neuen Textdatei greift dann ein externe System darauf zu und zeiht sich den Wert.
Der Wert steht nach dem zweiten ; in der Zeile.

;01.09.2011;1087;;;;;;1087;;;N/mm²;

Mein Problem ist es jetzt das ich zwar eine neue Textdatei generiere, jedoch kein Inhalt übertragen und wie komme ich genau an den zweiten Wert (1087) in der Zeile?
Kann mir da jemansd helfen?
Vielen Dank schonmal

01.
Set fso = CreateObject("Scripting.FileSystemObject") 
02.
Set o = fso.GetFolder("M:\Matt\_25_Haertepruefung_WBH\Datei") 
03.
Set da = o.Files 
04.
counter = o.Files.Count   ' Zählt die Anzahl der Dateien im Ordner 
05.
msgbox counter 
06.
if counter > 1 then 
07.
msgbox "Es sind mehrere Dateien vorhanden, es ist nur eine Messwertdatei im Ordner zulässig!!" 
08.
WScript.Quit 
09.
end if 
10.
For Each d in da 
11.
    s = s & d.path 
12.
    msgbox s   
13.
    next   
14.
' ----- Härtewert wird aus der Datei gelesen ------       
15.
Set fso = CreateObject("Scripting.FileSystemObject") 
16.
set oFile = fso.OpenTextFile(s,1) 
17.
Zeilen = Split(oFile.ReadAll, vbCrLf) 
18.
AnzahlZeilen = oFile.Line 
19.
msgbox AnzahlZeilen 
20.
oFile.close 
21.
 
22.
Set Textdatei = fso.CreateTextfile("M:\Matt\_25_Haertepruefung_WBH\Datei\Haertewert.txt",2) 
23.
Textdatei.WriteLine Zeilen(AnzahlZeilen - 1) 
24.
Textdatei.close
Mitglied: bastla
14.10.2011 um 11:25 Uhr
Hallo mmatt851 und willkommen im Forum!

Da Du ja ein Array "Zeilen" erzeugst, kannst Du die letzte Zeile über
LetzteZeile = Zeilen(UBound(Zeilen))
erhalten.

Falls am Ende der Datei noch eine Zeilenschaltung stünde, wäre diese letzte Zeile leer - daher prüfen und ggf die vorletzte Zeile verwenden:
If Trim(LetzteZeile) = "" Then LetzteZeile = Zeilen(UBound(Zeilen) - 1)
wie komme ich genau an den zweiten Wert (1087) in der Zeile?
Soferne ";" das Trennzeichen ist, handelt es sich bei "1087" um den dritten Wert der Zeile (allerdings mit dem Index 2, wenn Du die Zeile per "Split()" zerlegst) ...

Grüße
bastla
Bitte warten ..
Mitglied: Skyemugen
14.10.2011 um 11:40 Uhr
Aloha,

... warum zählst du die Anzahl der Dateien im Ordner, wenn es

immer die Letzte Zeile der gleichen Textdatei

ist? Dann gib' doch an, um welche Datei es sich handelt ...

Mit batch wär's doch so schön einfach

VBS wäre mir dafür zu aufwändig

greetz André
Bitte warten ..
Mitglied: mmatt851
14.10.2011 um 13:19 Uhr
Mit Batch habe ich leider keinerlei Erfahrung!

Es darf sich nur eine Datei im Ordner befinden, sonst könnten die falschen Werte verwendet werden.

@ bastla: wo kann ich den split befehl einbringen?
Bitte warten ..
Mitglied: bastla
14.10.2011 um 13:23 Uhr
Hallo mmatt851!
wo kann ich den split befehl einbringen?
Wo Du willst - solange es nach dem Ermitteln von "LetzteZeile" und vor dem Schreiben in die Zieldatei passiert ...

Grüße
bastla
Bitte warten ..
Mitglied: mmatt851
14.10.2011 um 14:20 Uhr
01.
' ----- Härtewert wird aus der Datei gelesen ------       
02.
Set fso = CreateObject("Scripting.FileSystemObject") 
03.
If fso.FileExists(s) then 
04.
set oFile =fso.opentextfile(s) 
05.
sLines = split(oFile.ReadAll, vbcrlf) 
06.
oFile.close 
07.
 
08.
Readline = slines(UBound(slines) + nLine - 1) 
09.
msgbox Readline 
10.
 
11.
End if 
12.
 
13.
'----- Wert in neue Textdatei schreiben ----- 
14.
sText "Hallo"  
15.
Set Textdatei = fso.CreateTextfile("M:\Matt\_25_Haertepruefung_WBH\Datei\1\Haertewert.txt",2) 
16.
Textdatei.WriteLine sText 
17.
Textdatei.close
Ich habe es nun so gelöst! Irgendwie stehe ich auf dem Schlauch
Wenn ich es richtig verstehe habe ich jetzt nun meine gewünschte Zeile in Readline. Oder?
Nun möchte ich bei Readline den Split Befehl anwenden um an den Wert zu kommen, doch da kommt immer die Meldung, dass die Typen unverträglich sind!
Was mache ich falsch?
Bitte warten ..
Mitglied: bastla
14.10.2011 um 14:49 Uhr
Hallo mmatt851!

Was soll denn "nLine" darstellen?

Anyhow, wenn Du in "Readline" (es ist übrigens keine gute Idee, Variablen den Namen von Eigenschaften oder, wie hier, Methoden zu geben) die gesuchte Zeile hast, kannst Du mit
Wert = Split(Readline, ";")(2)
den Inhalt des 3. Feldes auslesen ...

Grüße
bastla

P.S.: Dein "End If" kommt in Zeile 11 zu früh - wenn es keine Quelldatei gab, hat es auch keinen Sinn, eine Zieldatei zu erstellen ...
Bitte warten ..
Mitglied: mmatt851
14.10.2011 um 15:05 Uhr
Danke bastla für deine Hinweise!

Habe sie so umgesetzt und das Programm läuft und erfüllt seinen Zweck!

Vielen Dank!

Grüße
mmatt851
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Text aus Textdatei lesen mit hochzählen bis Wert x

gelöst Frage von m.fesslerBatch & Shell2 Kommentare

Hallo, ich möchte einen Text (der zB. "ordner03" lautet) aus einer Textdatei auslesen und die Nummer am Ende um ...

Batch & Shell

Wert aus Registry in Textdatei speichern - Batch oder VBS

gelöst Frage von ResolvBatch & Shell2 Kommentare

Hallo in die Runde, ich habe es leider nicht so mit Batch und Co. Ich würde gerne die letzen ...

Batch & Shell

Wert aus Quelltext einer HP lesen

gelöst Frage von Nilbo91Batch & Shell11 Kommentare

Hallo zusammen! Wünsche erstmal ein frohes neues Jahr. Kurze Infos zu mir da ich neu in diesem Forum bin: ...

Batch & Shell

VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen)

gelöst Frage von Luuke257Batch & Shell5 Kommentare

Hallo zusammen! Vorweg, ich bin absoluter neuling im Scripten, ich habe mir das alles nur so zusammengebastelt und versuche ...

Neue Wissensbeiträge
Verschlüsselung & Zertifikate
Meine Wissenssammlung zu Bitlocker
Erfahrungsbericht von DerWoWusste vor 10 StundenVerschlüsselung & Zertifikate2 Kommentare

Die Motivation für diesen Beitrag waren die vielen Posts rund um dieses Thema, die deutlich machen, wie viele Einzelaspekte ...

E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 2 TagenE-Mail11 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 2 TagenHyper-V

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Sicherheits-Tools

Trend Micro WorryFree Business Security (WFBS) 10 - neuer Patch 1470 verfügbar

Tipp von VGem-e vor 2 TagenSicherheits-Tools1 Kommentar

Servus, mal sehen, ob mit Patch 1470, zu finden unter dann die angeblich fehlerhafte Funktion, die unter W10 im ...

Heiß diskutierte Inhalte
Netzwerke
Hilfe bei der Planung meines Heimnetzwerks
Frage von DHD082Netzwerke14 Kommentare

Hallo zusammen, wir bauen gerade ein Einfamilienhaus, welches ich mit einem Heimnetzwerk ausstatten möchte. Da ich zwar auch in ...

Tipps & Tricks
Nagstamon und PRTG Monitoring
Frage von Der.ITlerTipps & Tricks13 Kommentare

Hallo Ihr, heute am Sonntag bin ich mal früh aufgestanden um mich mit dem Problem von Gestern zu beschäftigen. ...

Hardware
Sophos SG135 - Routing
Frage von Xaero1982Hardware13 Kommentare

Moin Zusammen, ich ersetze gerade nen alten Cisco DualWAN Router durch eine SG 135. Ich muss bestimmte Ziele über ...

Datenschutz
Gilt ein Ransomware-Befall als Datenpanne nach DSGVO?
Frage von MOS6581Datenschutz12 Kommentare

Moin Kollegen, wenn sich jemand Ransomware einfängt und dadurch bspw. Kundendaten verschlüsselt werden; gilt dies dann als meldepflichtige Datenpanne ...