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

Inhalte aus mehreren Textdateien in eine kopieren

Frage Entwicklung Batch & Shell

Mitglied: p4linux

p4linux (Level 1) - Jetzt verbinden

20.02.2008, aktualisiert 21.02.2008, 6508 Aufrufe, 6 Kommentare

Hallo zusammen,

mein Problem besteht darin, dass ich Textdateien aus einer externen Anwendung in eine Datenbank übernehme.

Die externe Anwendung liefert eine Datei Textdatei in einem bestimmten Ordner z.B C:\temp. Diese Datei heist dann "test.txt".

Wird diese Datei durch Performanceprobleme nicht eingelesen und folgt daraufhin ein neuer Datensatz heißt dieser dann test1.txt der nächste test2.txt usw. usw

Unsere Anwendung kann aber immer nur die erste (test.txt) einlesen! Wenn ich die anderen dann umbenenne klappt es!

Nun meine Frage:

Welche möglichkeit habe ich alle Dateien die TestXX.txt heisen in eine einzelne, möglichst via Batch oder externer Anwendung in eine einzelne Datei zu kopieren.

Anmerkung: Der Inhalt der Datei Test.txt besteht nur aus einem Datensatz!

Danke für eure hilfe
Mitglied: Biber
20.02.2008 um 10:37 Uhr
Moin p4linux,

willkommen im Forum.

Der Prozess ist unklar.
1) wenn denn normal nur ein Datensatz in der Text.txt enthalten ist, kann denn Eure Applikation damit umgehen, wenn da jetzt mehrere (aus Text1.txt ....bis Test27.txt) auftauchen?
2) was passiert nach dem Einlesen der Text.txt? Wird die gelöscht von der Applikation?
Oder wie kann ein neuer Batch erkennen, dass die Daten aus (Text1.txt ...Text27.txt) bereits in die Text1.txt kopiert wurden
3) wenn die Appz mehr als einen Datensatz einlesen kann, warum werden dann nicht gleich immer neue DS an Text.txt angefügt?

Grüße
Biber
Bitte warten ..
Mitglied: p4linux
20.02.2008 um 10:46 Uhr
Hallo Biber,

unsere Anwendung ist recht schlecht programmiert! ;)

Die Anwendung ließt immer nur die Dateien ein die Test.txt heißen! Die Datei wird duch ein Zeiterfassungsterminal generiert, dh. ein Mitarbeiter stempelt an der Stempeluhr --> es entsteht eine Textdatei Test.txt. Unsere Anwendung schaut jede Sekunde in den Ordner ob es solch eine Datei gibt. Wenn ja dann wird sie eingelesen und aus dem Tempordner gelöscht.

Stempelt aber ein anderer Mitarbeiter quasi gleichzeitig und die Test.txt wurde noch nicht eingelesen
bekommt der neue Datensatz den Namen Test1.txt usw...
Bitte warten ..
Mitglied: Biber
20.02.2008 um 10:55 Uhr
Moin p4linux,

okay, und die wichtige Frage: darf denn mehr als ein Datensatz in der Text.txt stehen?
Weiß das jemand??

Grüße
Biber
Bitte warten ..
Mitglied: p4linux
20.02.2008 um 10:59 Uhr
ja, es dürfen mehrere Datensätze in der Textdatei stehen, wichtig dabei ist nur das diese durch Zeileumbruch getrennt sind!
Bitte warten ..
Mitglied: Biber
20.02.2008 um 20:16 Uhr
...ich weiß nicht, p4linux,

ich drücke mich schon seit Stunden vor einer "Lösung", weil...

  • solange einerseits die Test.txt sekündlich gelesen/gelöscht werden kann und
  • andererseits ebenso sekündlich neue TestNN.txt nachgeschoben werden können von einer Applikation, die genauso die Existenz/Nichtexistenz der Test.txt prüft....

Ist nur Flickwerk, sich dazwischendrängeln zu wollen.

Prio 1 hätte die Prüfung, ob
a) Eure Appz auch an die vorhandene test.txt mehrere Sätze anhängen kann.
Ggf. muss dann eben von der lesenden+löschenden Seite einerseits und der neu schreibenden Seite andererseits über eine Semaphore/eine Flag-Datei signalisiert werden, wer gerade die Test.txt haben will
b) solltet ihr prüfen, ob dieses sofortige Abholen der Daten denn Sinn macht oder ob es sich über Zeitfenster regeln lässt (z.b. gesammelt in der Test.txt wird in jeder Stunde von x:00 bis x:50. Abgeholt und anschließend gelöscht wird jede Stunde um x:55
Das kann doch nicht sein, dass diese Stechkarten-Appz nicht in der Lage ist, erstmal ein paar Sätze zu cachen.... das ist ja wirklich albern, für jeweils eine Halbzeile eine datei zu schreiben.
c) solltet ihr euch mit neueren Entwicklungen (Prozesskommunikation, Listener..) vetraut machen - eine Prozessmimik über eine Datei-Liefern-Abholen-und-Löschen-Strategie in der o.a. Sekundentaktung ist ..hmmmmmmmmmm.. ungewöhnlich.

Ich halte mich da erstmal mit "copy test*.txt alltest.txt"-Ansätzen zurück.

Grüße
Biber
Bitte warten ..
Mitglied: p4linux
21.02.2008 um 15:26 Uhr
Hallo Biber,

um eine Echtzeitanwendung zu Garantieren ist dieses vorgehen des sek.genauen Einlesens ein muss. Aber ob du glaubst oder nicht!

Dein letzter Beitag hat all meine Probleme gelöst ;) und das nur mit einem popligen Copybefehl.

Ich kopiere jetzt den Inhalt aller Dateien in eine Textdatei und lösche alle anderen Test*.txt Dateien aus diesem verzeichnis heraus. Es bleibt eine über, ich lese Sie in die Datenbank ein..... und alle sind zufrieden.

Nochmals vielen Dank!

P.S wir werden aber mit unserer Entwicklung den Programmcode in folgender hinsicht ändern, dass alle Test*.txt Dateien ausgelesen und sofort in die Datenbank geschrieben werden!

Gruß p4linux
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Linux Tools
gelöst CSV-Datei aus mehreren einzelnen Textdateien zusammenbauen in Bash (1)

Frage von Jens4ever zum Thema Linux Tools ...

Batch & Shell
Ordner erstellen ll Datei hinein kopieren (1)

Frage von heyalice zum Thema Batch & Shell ...

Batch & Shell
gelöst Textdateien TXT in allen Verzeichnissen suchen und zusammenfassen (19)

Frage von chgs2011 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...