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
GELÖST

Per Batch wirksam prüfen ob in Textdatei aktuell geschrieben wird bzw. ob sie im Zugriff ist

Frage Entwicklung Batch & Shell

Mitglied: kleinerbub

kleinerbub (Level 1) - Jetzt verbinden

25.05.2012 um 12:45 Uhr, 7661 Aufrufe, 3 Kommentare

Hi IT-Crowd

Hintergrund: Eine Textdatei soll per Batch von A nach B verschoben werden.

Ausgangspunkt: An die Textdatei werden sporadisch (programmgesteuert) Zeilen angefügt. Diese stellen Datensätze dar, die nur komplett verwendet werden können (logo!).

Problem: Verschiebe ich die Datei, kann es sein, dass die letzte Zeile noch nicht fertig geschrieben ist. Ich muss also prüfen, ob momentan in die Datei geschrieben wird, falls nicht, kann ich sie moven, ansonsten probier ichs später nochmal.

Ich habe es bereits per
01.
openfiles /query | find /i "Dateiname" || move /Y Quelle Ziel
versucht, allerdings funktioniert das nicht. Ich denke der Zeitraum, in dem die Datei wirklich zum schreiben geöffnet ist, ist nur sehr kurz, so dass es wohl ein sehr großer Zufall ist, per openfiles genau den Moment zu erwischen, dass er das richtige Ergebnis zurückgibt.

Eine andere Möglichkeit wäre es zu prüfen, ob das letzte Zeichen in der Datei ein CRLF ist. Das würde bedeuten, die letzte Zeile ist komplett und ich kann die Datei moven. Ich habe aber keine Ahnung, wie ich das am schnellsten prüfe.

Oder vielleicht noch einfacher: zählen, ob die letzte Zeile alle Felder enthält.

Hier ist noch ein Beispiel für den Aufbau der Textdatei:
01.
10009876;21214789;Mustermann;Hans;01.05.1963;M;Wiesenweg 1;Musterstadt;98765;25.05.2012 12:40:00;ABT1CRLF
Wer hat eine Idee?

kleinerbub
Mitglied: pieh-ejdsch
25.05.2012, aktualisiert um 14:43 Uhr
moin kleinerbub,

heisst das genauer die Letzte Zeile besitz erst eine ZeilenSchaltung, wenn alle Einträge in der Zeile Vorhanden sind?

dann so (es ist auch egal, ob die Datei zum Schreiben gesperrt ist)
01.
findstr /nv $ "Dateiname" 1>nul &&echo Zeile noch nicht Fertig ||echo Letzte Zeile ist Fertig geschrieben.
wenn Du testen willst ob die Datei zum schreiben gesperrt ist dann so
01.
 
02.
:check 
03.
(type nul 4>>Dateiname ) 2>nul && echo Datei kann verschoben werden ||Datei ist noch gesperrt &&goto :check 
04.
rem weiterer Code
Hier gibs auch ne Batch zum Check dafür
Batch-Abfrage, ob bestimmte excel-Datei geöffnet ist und diese dann auch schließen (können)
[Edit]da Openfiles nur mit Adminrechten läuft[/Edit]

Gruß Phil
Bitte warten ..
Mitglied: kleinerbub
29.05.2012 um 07:47 Uhr
Hi Phil,

danke für deine prompte Antwort. Hab die erste Variante probiert und es funktioniert.

Das zweite bringt mir hier nichts, da die Datei nicht gesperrt ist. Das Problem war, dass der letzte Datensatz unvollständig war, wenn die Datei während des Schreibvorgangs verschoben wurde.

Rein Interesse halber: Hat jemand ne Lösung parat, wo ich zählen kann wieviele Felder (oder ;) in der letzten Zeile stehen und damit prüfen kann, ob die Zeile komplett ist?


Danke für die Hilfe, mein Problem ist gelöst.
Bitte warten ..
Mitglied: pieh-ejdsch
29.05.2012, aktualisiert um 12:08 Uhr
moin kleinerbub,

zum testen, ob eine bestimmte mindestanzahl von 10 Zeichen (;) enthalten ist:
01.
findstr .*;.*;.*;.*;.*;.*;.*;.*;.*;.*;.*; Dateiname
Bei Zeilen mit NICHT 10 mal semikolon:
01.
findstr /v .*;.*;.*;.*;.*;.*;.*;.*;.*;.*;.*; Dateiname
Gruß Phil
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Mittels Batch jede Zeile einer Textdatei prüfen
gelöst Frage von Peter32Batch & Shell4 Kommentare

Hallo, ich habe eine Textdatei (Projekte.txt), die etwa so aufgebaut ist Nun möchte ich gerne, dass ein Batch-Script jede ...

Batch & Shell
Variable in Batch-Skript anscheinend nicht wirksam
gelöst Frage von KorbinianHBatch & Shell4 Kommentare

Hallo, Ich habe ein Skript geschrieben, dass jede Sekunde einen zuvor eingegebenen Host anpingt und prüft, ob dieser online ...

Batch & Shell
Die aktuellsten 10 Dateien (.jpg) aus einem Ordner in einer Textdatei auflisten via Batch
gelöst Frage von bengunBatch & Shell2 Kommentare

Hallo, habe nun bereits die gesamte Administrator.de Seite durchsucht um eine Lösung für folgendes zu bekommen. Leider erfolglos. Ziel ...

Batch & Shell
In Batch auf Erstelldatum einer Datei prüfen
gelöst Frage von AS-N00Batch & Shell5 Kommentare

Hallo, foolgendes Problem. Ich muss eine leer Datei "dpd.ini" in "d:\bw50" erstellen, wenn in einem Ordner "d:\bw50\dpd\export\" es keine ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 12 StundenViren und Trojaner1 Kommentar

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 15 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware10 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Cloud-Dienste
PIM als SaaS Nutzungsgebühr
Frage von vanTastCloud-Dienste8 Kommentare

Moin, wir haben uns ein PIM (Product Information Management) nach unseren Ansprüchen für viel Geld als SaaS-Lösung bauen lassen. ...