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, 4453 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: ...

VB for Applications

VBS-Entfernen von Zeilen in einer Textdatei

Frage von Calim3roVB for Applications5 Kommentare

Hallo zusammen Ich möchte aus einer Textdatei Zeilen entfernen. Ich habe drei Dateien, in Datei "A" stehen Wörter, in ...

Neue Wissensbeiträge
Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 6 StundenSicherheit

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 16 StundenInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 1 TagErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 1 TagWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server36 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1028 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgbornMicrosoft17 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Webbrowser
Welcher Browser ist der Beste?
Frage von justtinWebbrowser15 Kommentare

Hallo Leute Ich habe eine interessante Frage. Mich wurde mal interessieren welcher Browser ist eure meinung nach der beste? ...