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

Prüfen ob und wie eine TXT vorhanden ist und entsprechend reagieren

Frage Entwicklung Batch & Shell

Mitglied: Beatzler

Beatzler (Level 1) - Jetzt verbinden

31.05.2009, aktualisiert 01:24 Uhr, 3467 Aufrufe, 9 Kommentare

Halli Hallo,

ich brauchte mal wieder ein wenig unterstützung von euch und würde gern ein feedback haben ob ich so einigermaßen gut davor bin oder ob und wenn ja wie ihr das am besten lösen würdet..... Vielen Dank im vorraus !

Habe ein Tool welches alle paar Minuten div. Meldungen in eine TXT Datei schreibt. Leider sind diese TXT teilweise unvollständig da das Tool diese zu schnell generiert hat. Nachdem sie generiert wurden wird der inhalt per E-Mail verschickt. Wurde eine txt unvollständig oder falsch generiert wird diese von der gleichen bat wenige Sekunden später nochmal generiert. Dies kann dann auch noch nicht 100 % stimmen sodass nun zwar mehr in der Meldung steht aber leider immer noch nicht alles. Das ganze ist sehr wichtig und müsste von daher so schnell wie es nur geht ( eigentlich sobald die textdatei erstellt wurde ) verschickt werden. Da nun aber leider nicht jedesmal der gesammte Text komplett in diese Textdatei geschrieben wird aber nur der vollständige Text verschickt werden soll habe ich nun ein Problem.....

Mein Hauptproblem ist die Zeit! ich würde ungern nach der ersten Generierung jedesmal einen festen Zeitwert abwarten wollen da man leider auch nicht sagen kann wie schnell die Meldung komplett vorliegt meist jedoch weit unter 10 sek. es kann aber auch schonmal länger dauern leider, von daher möchte ich nun ungern jedesmal 20 sek vor der Versendung warten um sicherzugehen das die Meldung komplett ist obwohl sie das schon nach 1 sek war ....

Die Meldungen unterscheiden sich enorm sodass man nicht anhand von bestimmten Wörtern oder Längen irgendwas abschätzen könnte Aber eine TXT umfasst immer nur eine Zeile mit max 200 Zeichen

Wie löse ich dieses Problem am besten?

Ich dachte mir das ich danach folgendermaßen weiterarbeite:

Innerhalb der Bat welche die TXT erzeugt ganz am Anfang:

- Überprüfen ob TXT schon vorhanden ist = Wie macht man das am besten ?
- Wenn ja dann erstelle eine neue txt (unter neuem Namen) & führe den normalen Bat ablauf zur Erstellung durch >> danach GOTO CHECK
- Wenn TXT noch nicht vorhanden = normale TXT Erstellung starten

:CHECK >>>> Check überprüft nun ob die Dateien gleich sind,
fc datei1.txt datei2.txt >nul && goto GLEICH
ECHO Die Dateien unterscheiden sich !
PAUSE
:GLEICH
ECHO Die dateien sind gleich !
PAUSE

- Sind die dateien unterschiedlich versende nur die letze Datei ...
- Dies wird solange gemacht bis die Meldung komplett ist und die Datei verschickt werden kann



Ich weiß hört sich nun alles bestimmt ziehmlich komisch an aber ich hoffe ihr versteht einigermaßen was ich meine....


Wäre für jeden Tipp / Hilfe sehr dankbar !

MFG Beatzler
Mitglied: LotPings
31.05.2009 um 08:36 Uhr
Zitat von Beatzler:
Ich weiß hört sich nun alles bestimmt ziemlich komisch an aber ich hoffe ihr versteht einigermaßen was ich meine....

Dafür das du nicht geschrieben hast, was dein eigentliches Problem ist, hast du verdammt viele Worte gebraucht.

Ich nehme mal an das du so etwas meinst
01.
If exist Datei ( 
02.
  Echo Datei existiert 
03.
) Else ( 
04.
  Echo Datei existiert nicht 
05.
)
Frohe Pfingsten!
Bitte warten ..
Mitglied: Beatzler
31.05.2009 um 12:28 Uhr
Hey,

vielen Dank für deine Antwort ! Nun bekomme ich zumindest diese Abfrage schonmal hin.

Mein Problem ist das ich nicht weiß wie ich am besten die vollständige TXT verschicke also wie ich mir irgendwie was basteln kann das er solange wartet bis die Meldung vollständig ist. Man könnte natürlich nun sich eine BAT schreiben welche 10 sek. lang prüft welches TXT nun das "beste" ist und dieses verschickt. Aber jedesmal 10 sek sollte es eigentlich nicht. Hätte da nicht noch jemand ne idee nen tipp ?

Mfg Beatzler
Bitte warten ..
Mitglied: LotPings
31.05.2009 um 17:26 Uhr
Zitat von Beatzler:

Hätte da nicht noch jemand ne idee nen tipp ?

Da du schon wieder, mit vielen Worten, vermieden hast zu sagen was dein eigentlicher Batch macht,
nein und jetzt hab ich auch keine Lust mehr.
Einen schönen Pfingstsonntag noch
Bitte warten ..
Mitglied: miniversum
01.06.2009 um 13:48 Uhr
Hier mal eine ungetestete Idee wie du kontrollieren kannst ob sich die Datei verändert hat. Geprüft wird dabei das Datum des letzten Schreibzugriffs. Geprüft wird dann im 1 Sekunden Raster. Hier kannst du die Zeit auch anpassen.:
01.
set "%datei%=Datei.txt" 
02.
FOR /F "tokens=2 delims= " %%i in ('dir /TW "%datei%"|find "%datei%"') do set zeit1=%%i 
03.
:loop 
04.
ping -n 1 localhost >NUL 
05.
FOR /F "tokens=2 delims= " %%i in ('dir /TW "%datei%"|find "%datei%"') do set zeit2=%%i 
06.
if "%zeit1%" neq "%zeit2%" ( 
07.
set "zeit1=%zeit2%" 
08.
goto:loop 
09.
)
Bitte warten ..
Mitglied: 78632
01.06.2009 um 13:55 Uhr
Geprüft wird dann im 1 Sekunden Raster.
Alles schön und gut, aber warum ein so kurzes Prüfintervall, wenn die Zeitinformation beim Dir-Befehl nur bis zur Minute geht? Oder fehlen mir die Sekundeninformationen? Dann verrate mir doch mal bitte, wie ich die erhalte.
Bitte warten ..
Mitglied: miniversum
01.06.2009 um 14:04 Uhr
wie geschrieben war das eine ungetestete idee.
Dan must dus halt beim fc belassen zum vergleich
Bitte warten ..
Mitglied: 78632
01.06.2009 um 14:10 Uhr
Ich war nicht der Fragesteller mit dem Problem, sondern hatte angenommen, du wüsstest was, das ich nicht weiß
Bitte warten ..
Mitglied: Beatzler
01.06.2009 um 14:13 Uhr
Hey,

vielen Dank für eure Hilfe. Das war auch schon ein sehr guter Ansatz ! Habe ich es nun richtig verstanden das die Zeitinformationen wann die Datei erstellt / verändert wurde nur Minutenweise gespeichert werden ?

Mfg Beatzler
Bitte warten ..
Mitglied: 78632
01.06.2009 um 14:16 Uhr
Die Zeitinformation wird in 100 Nanosekunden-Intervallen gespeichert. Nur die Information, die der DIR-Befehl zur Anzeige bringt, hört bei der Minutenangabe auf.
Bitte warten ..
Neuester Wissensbeitrag
Windows Update

Windows Update-Suche nach Win7 Neuinstallation wieder schneller

(1)

Erfahrungsbericht von the-buccaneer zum Thema Windows Update ...

Ähnliche Inhalte
Batch & Shell
gelöst Powershell - Datei prüfen ob vorhanden, dann löschen (9)

Frage von Bugger zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel VBA: Automatische Konvertierung von Textdatei (.txt) zu Exceldatei (.xlsx) (7)

Frage von Booster07 zum Thema Microsoft Office ...

Batch & Shell
Maximale Größe zu verarbeitender txt-Dateien mit Batch (5)

Frage von Muck1303 zum Thema Batch & Shell ...

Hosting & Housing
Wie Website auf Seriösität prüfen? (4)

Frage von imebro zum Thema Hosting & Housing ...

Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (21)

Frage von Winuser zum Thema Hyper-V ...

Exchange Server
Bestehende eMails autoamatisch weiterleiten (21)

Frage von metal-shot zum Thema Exchange Server ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (16)

Frage von ProfessorZ zum Thema Router & Routing ...