Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

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, 6538 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 ..
Ähnliche Inhalte
Video & Streaming
gelöst Inhalte einer Blueray über die Xbox One auf eine angeschlossene Festplatte kopieren (3)

Frage von obliterator zum Thema Video & Streaming ...

Batch & Shell
gelöst Komplette Zeile aus Textdatei auslesen (3)

Frage von tegwert zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Windows Server
Kennwort vergessen bei Hyper vserver 2012r (12)

Frage von jensgebken zum Thema Windows Server ...

Linux Desktop
Bildschirmauflösung unter Linux festlegen (12)

Frage von itebob zum Thema Linux Desktop ...

Batch & Shell
Batch Programm verhalten bei shoutdown -p (11)

Frage von Michael-ITler zum Thema Batch & Shell ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...