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

.txt auslesen und unter entsprechenden Dateinamen auflisten!?

Frage Entwicklung Batch & Shell

Mitglied: altamuli

altamuli (Level 1) - Jetzt verbinden

09.04.2008, aktualisiert 22:25 Uhr, 3040 Aufrufe, 6 Kommentare

Hallo!
Die erste Hilfe war schon super, jetzt kommt das nächste Problem.
Habe folgendes zu lösen:
Habe zwei Exel Tabellen! Diese will ich vergleichen und etwas sinnvoll ergänzen.
Also in beiden sind in Spalte "A" Seriennummer eingetragen (die gleichen , nur andere reihenfolge). Nun möchte ich die Information der einen Tabelle der anderen hinzufügen, dies natürlich unter der selben Seriennummer ich sag mal in Spalte "D".

... wäre schön wenn jemand nen Ansatz oder besser ne lösung hat ; )
Mitglied: bastla
09.04.2008 um 18:19 Uhr
Hallo altamuli!

Hat jede Datei exakt den dargestellten Aufbau, und wenn nicht, woran sind zB die "Fehlerspeicher"-Zeilen zu erkennen?

Wäre es übrigens nicht sinnvoller, Datensätze zu bilden, also alle Daten einer Textdatei in einer einzigen Zeile (durch ein festgelegtes Trennzeichen voneinander abgegrenzt) zu speichern?

Grüße
bastla
Bitte warten ..
Mitglied: Biber
09.04.2008 um 18:42 Uhr
@bastla

Wäre es übrigens nicht sinnvoller, Datensätze zu bilden...
Unbedingt sogar. Denn es waren ja auch vorher welche....

@altamuli
Diese Form von Daten-Um- und Neuformatierung ist ja alles rein handwerklich machbar,
aber damit schaffst Du undokumentierte betriebliche Prozesse, die keiner kennt, keiner durchschaut und keiner pflegen kann.

["betriebliche Prozesse"= Da ich nicht annehme, dass Du zu Haus deine Kühlkörpersammlung verwaltest]

Bitte erzähl noch mal zwei Sätze zum Prozess selbst.
Irgend jemand hat Dir 27300 Einzeldateien mit reinen Schlüsselwerten in Deinen Ordner gelegt und Du sollst es lesbar machen? Oder was passiert da?

Grüße
Biber
Bitte warten ..
Mitglied: altamuli
09.04.2008 um 19:16 Uhr
Leider war es nur so möglich die Daten auszulesen!
Es handelt sich um Gerätedaten die zur analyse zusammengefasst werden sollen.
Also der Dateiname ist ein Seriennummer, dahinter folgen aus dem Gerät stammende Werte.
Mein Ziel ist eine Liste zu erstellen in der alle Geräte und ihre Parameter untereinander aufgeführt werden.
Einfach um es auf Papier zu bekommen.

Die feinere Lösung währe wohl noch das ganze in eine exel Tabelle zu bekommen, dann könnte man schön mit den Werten arbeiten. Dafür würde es aber zuviel sein um es per Hand einzugeben. Wie das gehen könnt!?Da fehlt mir jeglicher einstieg!

... daher tut es auch der Weg mit der Liste, damit kenn ich mich nen bissel aus ; /

( die nummern stehen für die Parameter, die Reihenfolge ist immer gleich. Ich habe in der "liste" nur vor die Nummer die Bedeutung des Parameters geschrieben.)
Bitte warten ..
Mitglied: bastla
09.04.2008 um 20:02 Uhr
Hallo altamuli!

Wenn Du nur die einzelnen Zeilen als Datenfelder benötigst, könnte das so gehen:
01.
@echo off & setlocal 
02.
set "Dateien=D:\Temp\*.txt" 
03.
set "Sammel=D:\Sammel.csv" 
04.
 
05.
echo Datei;Seriennummer;Fehlerspeicher01;Fehlerspeicher02;Fehlerspeicher03;Fehlerspeicher04;Fehlerspeicher05;Fehlerspeicher06;Fehlerspeicher07;Fehlerspeicher08;Fehlerspeicher09;Fehlerspeicher10;BasisSoftware;Software;Gerätetyp;ArtikelNummer;Betriebsstd.;InnenraumTemp.;KühlkörperTemp>"%Sammel%" 
06.
 
07.
for %%d in ("%Dateien%") do call :ProcessFile "%%d" 
08.
goto :eof 
09.
 
10.
:ProcessFile 
11.
set Zeile="%~n1" 
12.
for /f "usebackq delims=" %%i in (%1) do call :ProcessLine "%%i" 
13.
echo %Zeile%>>"%Sammel%" 
14.
goto :eof 
15.
 
16.
:ProcessLine 
17.
set "Zeile=%Zeile%;%1" 
18.
goto :eof
Die Pfade/Dateinamen in den ersten beiden "set"-Zeilen kannst Du natürlich anpassen, wobei es vermutlich sinnvoll sein wird, zum Testen erst einmal nur ein paar Dateien in den Quellordner (oben: D:\Temp) zu legen.

Die Sammeldatei wird immer neu erzeugt und enthält zunächst eine Zeile mit den Feld-(Spalten-)überschriften.

Darunter folgt dann je eine Datenzeile für die einzelnen Dateien, wobei die Werte als Text an Excel übergeben werden sollen (wegen der Doppelpunkte würden diese ansonsten als Zeitangabe interpretiert) und daher unter Anführungszeichen gesetzt werden.

Die fertige .csv-Datei sollte sich direkt mit Excel öffnen lassen.

Grüße
bastla
Bitte warten ..
Mitglied: tacker
09.04.2008 um 20:23 Uhr
Salü!

Hier noch eine Version mit VBScript, welche es in der gewünschten Formatierung in's Textfile schreibt! die Files müssen einfach im Ordner "files" liegen, welcher wiederum im gleichen verzeichnis liegt wie das scriptfile...

Das ganze kann man natürlich noch beliebig anpassen und verbessern...

01.
dim fso, FSOoutputfile, FSOinputfile, fsofile, fsofolder, file 
02.
dim strOutputfile, i, array() 
03.
 
04.
set fso = CreateObject("Scripting.Filesystemobject") 
05.
set fsofolder = fso.getfolder("files") 
06.
set fsofile = fsofolder.files 
07.
strOutputfile = "output.txt" 
08.
 
09.
If fso.fileexists(strOutputfile) then 
10.
 fso.deletefile(strOutputfile) 
11.
End If 
12.
 
13.
For each file in fsofile 
14.
 set FSOinputfile = fso.opentextfile(file, 1, false) 
15.
 set FSOOutputfile = fso.opentextfile(strOutputfile,8, true) 
16.
 i = 0 
17.
 FSOoutputfile.writeline("Filename: " & file.name) 
18.
 
19.
 Do While FSOinputfile.AtEndOfStream = False 
20.
   redim preserve array(i+1) 
21.
   array(i) = FSOinputfile.readline 
22.
   i = i + 1 
23.
 loop 
24.
 
25.
 FSOoutputfile.writeline "Seriennummer" & array(0) 
26.
 FSOoutputfile.writeline("Fehlerspeicher01" & array(1)) 
27.
 FSOoutputfile.writeline("Fehlerspeicher02" & array(2)) 
28.
 FSOoutputfile.writeline("Fehlerspeicher03" & array(3)) 
29.
 FSOoutputfile.writeline("Fehlerspeicher04" & array(4)) 
30.
 FSOoutputfile.writeline("Fehlerspeicher05" & array(5)) 
31.
 FSOoutputfile.writeline("Fehlerspeicher06" & array(6)) 
32.
 FSOoutputfile.writeline("Fehlerspeicher07" & array(7)) 
33.
 FSOoutputfile.writeline("Fehlerspeicher08" & array(8)) 
34.
 FSOoutputfile.writeline("Fehlerspeicher09" & array(9)) 
35.
 FSOoutputfile.writeline("Fehlerspeicher10" & array(10)) 
36.
 FSOoutputfile.writeline("BasisSoftware" & array(11)) 
37.
 FSOoutputfile.writeline("Software" & array(12)) 
38.
 FSOoutputfile.writeline("Gerätetyp" & array(13)) 
39.
 FSOoutputfile.writeline("ArtikelNummer" & array(14)) 
40.
 FSOoutputfile.writeline("Betriebsstd." & array(15)) 
41.
 FSOoutputfile.writeline("InnenraumTemp." & array(16)) 
42.
 FSOoutputfile.writeline("KühlkörperTemp" & array(17)) 
43.
 FSOoutputfile.writeline(" ") 
44.
 FSOinputfile.close 
45.
 FSOoutputfile.close 
46.
 set FSOinputfile = Nothing 
47.
 Set FSOoutputfile = Nothing 
48.
Next
Grüsse tacker
Bitte warten ..
Mitglied: altamuli
09.04.2008 um 22:25 Uhr
... da bin ich baff ; )

Also die Batch geht prima, genau so sollte sein!

Vielen Danke für die schnelle Hilfe!!!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateinamen mit vbs auslesen und in eine TXT Datei schreiben
gelöst Frage von KeiosIDBatch & Shell5 Kommentare

Hallo, ich hoffe mal, das ist das richtige Unterforum. Nach diversen suchen und Hilfe aus einem Windows Scripting Buch ...

Batch & Shell
Dateiname entsprechend einem um x-Ebenen übergeordeten Ordnernamen umbenennen
gelöst Frage von Booster07Batch & Shell3 Kommentare

Hallo Zusammen, ich bin Batch-Amateur und komme bei folgendem Problem nicht weiter. Ich will sehr viele Dateien, die in ...

Batch & Shell
Dateinamen auslesen und in einer Schleife benutzen
gelöst Frage von TeholBeddictBatch & Shell12 Kommentare

Hallo Experten, ich kämpfe derzeit mit folgender Aufgabenstellung, welche ich per Batchskript lösen möchte: In einem Ordner sind 1 ...

Batch & Shell
Dateinamen auslesen und in Code einbauen
gelöst Frage von markueBatch & Shell10 Kommentare

Hallo an alle, ich bin neu hier und habe eine für mich knifflige Sache. Ich möchte per .cmd Datei ...

Neue Wissensbeiträge
Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 4 StundenMac OS X1 Kommentar

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Datenschutz

Weitere Informationen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 11 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 13 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 16 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1017 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...