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, 6520 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
Batch & Shell
gelöst In allen Textdateien eines bestimmten Pfades die Zeilen x bis Ende löschen (2)

Frage von Schloth zum Thema Batch & Shell ...

Windows Server
gelöst EXE Datei per GPO auf Desktop für alle User kopieren (8)

Frage von haiflosse zum Thema Windows Server ...

Batch & Shell
gelöst Daten via Aufgabenplanung auf ein SMB Ziel kopieren (8)

Frage von eBBeL87 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Statische Routen mit Shorewall, ISC-DHCP Server konfigurieren für Android Devices (23)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

Hardware
16-20 Port POE Switch mit VLAN (16)

Frage von thomasreischer zum Thema Hardware ...

Outlook & Mail
Outlook 2010 mit Exchange 2016 (15)

Frage von slansky zum Thema Outlook & Mail ...