65883
Goto Top

Per Batch Datei mit Datum protokollieren

Hallo,
ich sitze hier an meinem Arbeitsplatz-PC. Meine Access-Projekte starte ich manuell bei Bedarf. Das Ende meiner täglichen Arbeitszeit endet offiziell mit der zuletzt geschlossenen *.mdb.

Beim PC-Start am nächsten Tag möchte ich mittels einer Batch-Datei im Autostart-Ordner die Dateiname und Uhrzeit aller (momentan 3) *.mdb in eine txt-Datei hinzuprotokollieren lassen, um eine Übersicht zu erhalten, wann jeweils immer am Vortag die letzte Datenbank geschlossen wurde.

Bsp.

Pfad>
c:\Projekt_1\Projekt_1.mdb
c:\Projekt_2\Projekt_2.mdb
c:\Projekt_3\Projekt_3.mdb

<Protokoll.txt>
Projekt_1 - 2011-08-15 16:30:00
Projekt_2 - 2011-08-15 15:00:00
Projekt_3 - 2011-08-15 13:45:00

Projekt_1 - 2011-08-14 12:30:00
Projekt_2 - 2011-08-14 17:10:00
Projekt_3 - 2011-08-14 10:15:00
usw...


Könnte mir da jemand bitte helfen, ich steh leider komplett auf dem Schlauch.
Kommentar vom Moderator Biber am Sep 30, 2011 um 07:44:30 Uhr
Nach dem Ersteller-Kommentar vom 30.9.2011 auf "Erledigt" gesetzt.

Content-Key: 172052

Url: https://administrator.de/contentid/172052

Printed on: April 24, 2024 at 00:04 o'clock

Member: bastla
bastla Aug 25, 2011 at 09:21:07 (UTC)
Goto Top
Hallo truecolor!

Ungetestet etwa so:
@echo off & setlocal
set "Log=D:\Protokoll.txt"  

for %%i in ("c:\Projekt_1\Projekt_1.mdb" "c:\Projekt_2\Projekt_2.mdb" "c:\Projekt_2\Projekt_1.mdb") do call :ProcessFile "%%~i"  
>>"%Log%" echo\  
goto :eof

:ProcessFile
for /f "tokens=1-4 delims=. " %%a in ("%~t1") do set "Zeit=%%c-%%b-%%a %%d"  
>>"%Log%" echo %~n1 - %Zeit%  
goto :eof
Grüße
bastla
Member: Skyemugen
Skyemugen Aug 25, 2011 at 09:21:14 (UTC)
Goto Top
Aloha,

nun beispielsweise würde dies so funktionieren:
@echo off & setlocal
set "Pfad=E:\Test"  
set "LOG=E:\Protokoll.txt"  
for /r "%Pfad%" %%s in (*.mdb) do (  
	for /f "tokens=1-3,* delims=. " %%m in ("%%~ts") do >>"%LOG%" echo %%~ns - %%o-%%n-%%m %%p  
	)
pause
goto :eof

Ich gehe mal davon aus, dass die Projekte noch einen sinnvollen Elternordner haben und nicht direkt auf C:\ liegen, sonst wird jede .mdb in C:\ dort aufgelistet und ich gehe davon aus, dass nur in dem besagten Pfad in den Projektordnern .mdb liegen, wenn dem nicht so sein sollte, gib' einfach eine Rückmeldung.

greetz André
Member: BigWim
BigWim Aug 25, 2011 at 09:26:55 (UTC)
Goto Top
Moin

ich hätte diesen Vorschlag:

@echo off & setlocal

Set "WasSollIchSuchen=c:\tmp\*.mdb"  
Set "LogDatei=%~n0.log"  

for /f %%a in ('dir %WasSollIchSuchen% /b' ) do echo %%a - %%~ta >>%LogDatei%  
goto :eof

Gruß
Markus

[Edit] ich sollte vorher noch einmal den Thread aktualisieren ... [/Edit]
Member: Skyemugen
Skyemugen Aug 25, 2011 at 09:30:23 (UTC)
Goto Top
Aloha Markus,

dein %%~ta entspricht jedoch nicht den Anforderungen face-wink

greetz André

edit:@bastla, ach, nur wegen der Dateiendung *fg* die übersieht man doch eh ^_^
Member: bastla
bastla Aug 25, 2011 at 09:36:42 (UTC)
Goto Top
... und das %%a auch nicht face-wink

Grüße
bastla
Member: BigWim
BigWim Aug 25, 2011 at 09:46:39 (UTC)
Goto Top
[OT]
Hey Jungs,

entspricht jedoch nicht den Anforderungen
habe ich von Microsoft abgekupfert - so ist immer noch Luft für ein Update face-wink

meine Erfahrungswerte liegen noch unter 100.
Dank der vielen Anleitungen bin ich ja froh, dass ich so etwas überhaupt ansatzweise lösen kann.

Gelobe Besserung!

[/OT]

Gruß
Markus
Member: bastla
bastla Aug 25, 2011 at 10:02:15 (UTC)
Goto Top
[OT]
@BigWim

Ist doch nur Spassss ... face-wink

Grüße
bastla
[/OT]
Member: BigWim
BigWim Aug 25, 2011 at 11:03:33 (UTC)
Goto Top
[OT]
@bastla / André

Ist doch nur Spassss
Ich weiß doch. Aber selbst das hilft schon weiter face-wink

Gruß
Markus

[/OT]
Mitglied: 65883
65883 Aug 25, 2011 at 11:17:02 (UTC)
Goto Top
@all...

erst einmal vielen Dank, dass ihr mein Problem überhaupt, dann noch vielseitig und auch noch so schnell gelöst habt (tiefe Verbeugung face-wink

Ich habe die Lösung von bastla 1:1 übernehmen können, weil meine Projektverzeichnisse in einem Gesamtverzeichnis mit vielen anderen fremden Projektordnern liegen und ich daher die Möglichkeit benötige, meine Projektpfade explizit angeben zu könenn.

Sicher hätte ich die anderne Scripte entsprechend anpassen können, nur lauffähig wären sie danach nicht mehr gewesen face-wink Grund: meinereiner hat leider sehr bescheidene Ahnung von Batchprogramm.

Die anderen Scripte werden ich mal bei Gelegenheit auch mal durchtesten.

Sollte ich Fragen haben, bin ich hier uner euch glaube ich gut aufgehoben.

Danke nochmal für eure Mühe
Member: BigWim
BigWim Aug 25, 2011 at 13:14:35 (UTC)
Goto Top
Hallo truecolor,

Danke nochmal für eure Mühe
gern geschehen - auch im Namen meiner Mitschreiber face-wink

Setze doch bitte diesen Thread auf gelöst - dass macht sich gut in unserer Statistik face-wink

Gruß
Markus
Mitglied: 65883
65883 Aug 25, 2011 at 19:38:15 (UTC)
Goto Top
morgen früh, wenn die Generalprobe erfolgreich bestanden wurde, setzte ich auf gerne auf gelöst face-wink

Gruß ... tc
Member: Skyemugen
Skyemugen Aug 26, 2011 at 13:40:58 (UTC)
Goto Top
Zitat von @65883:
morgen früh, wenn die Generalprobe erfolgreich bestanden wurde, setzte ich auf gerne auf gelöst face-wink
Hm, ich weiß ja nicht, wann du aufstehst aber ... face-wink
Member: Biber
Biber Aug 26, 2011 at 13:47:11 (UTC)
Goto Top
[OT]
Zitat von @Skyemugen:
> Zitat von @65883:
> ----
> morgen früh, wenn die Generalprobe erfolgreich bestanden wurde, setzte ich auf gerne auf gelöst face-wink
Vielleicht war ja auch die Generalprobe nicht ganz so erfolgreich und truecolor stand schon heute früh um 8:25 mit einer schwarzen Augenbinde an der Nord-Ost-Mauer des innenhofs.

Der hat's gut... nie wieder Montag morgens aufstehen....

Grüße
Biber
[/OT]
Member: BigWim
BigWim Aug 26, 2011 at 13:50:22 (UTC)
Goto Top
[OT]
Vielleicht hat er auch Nachtschicht und steht gleich um 20:00 Uhr auf .....

Schönes Wochenende
Markus

[/OT]
Mitglied: 65883
65883 Aug 27, 2011 at 14:48:44 (UTC)
Goto Top
Hallo zusammen,

bin aus meinem Dornrößchenschlaf erwacht.

Nein ... im Ernst, am Freitag war die Hölle los und erst jetzt hab ich wieder den Kopf frei und kann entspannt antworten.

Aaalso, das Script hat super funktioniert, es kam zwar eine Fehlermeldung wegen ungültigen/unbekannten UNC-Pfad, aber das Script hat trotzdem korrekt meine Projekte protokolliert.

Eine Frage hätte ich dennoch:

NTFS beitet doch die Möglichkeit, zwischen Erstell-, Änderungs- und Zugriffsdatum zu unterscheiden.
Was müßte ich am Script von bastla ändern, um die Datumsart zu ändern?

Schönes Wochenende und Gruß ... tc
Member: bastla
bastla Aug 27, 2011 at 15:02:47 (UTC)
Goto Top
Hallo truecolor!

Ändere die Zeile 9 auf
for /f "delims=" %%f in ('dir /tc %1^|findstr /i "%~nx1"') do for /f "tokens=1-4 delims=. " %%a in ("%%f") do set "Zeit=%%c-%%b-%%a %%d"
- damit wird das Erstellungsdatum abgefragt. Die weiteren Möglichkeiten wären "dir /tw" für Änderungsdatum (ist aber einerseits ohnehin Default und andererseits mit der ersten Batchversion einfacher zu haben) und "dir /ta" (Zugriffsdatum) - alles nachzulesen mit "dir /?" ...

Grüße
bastla
Member: Skyemugen
Skyemugen Aug 29, 2011 at 07:17:55 (UTC)
Goto Top
Zitat von @65883:
Gruß ... tc

Zitat von @bastla:
dir /tc

[OT]@bastla, Zufall oder stecken die Illuminaten dahinter? face-wink das hat dir der Teufel gesagt[/OT]
Member: Biber
Biber Aug 31, 2011 at 11:43:31 (UTC)
Goto Top
Moin truecolor,

Zitat von @65883:
morgen früh, wenn die Generalprobe erfolgreich bestanden wurde, setzte ich auf gerne auf gelöst face-wink
Sagt dir die Songzeile "If morning never comes" etwas?
Oder "Wake me up before september ends"?

ich weiss auch nicht, wie ich jetzt darauf komme...

A propos "weiss" - kann jetzt die Farbe des "Erledigt"-Häkchens angepasst werden?

Grüße
Biber
Mitglied: 65883
65883 Aug 31, 2011 at 20:34:43 (UTC)
Goto Top
Hallo ihr Admins,

wenn man statt nur Mails zu lesen EINMAL versucht mit dem Smartphone eine Mail zu schreiben ... ich sag nur "Murphys Gesetz"...

Leider hat der Tausch der Zeile 9 von bastla (for /f "delims=" %%f in ('dir /tc %1^|findstr /i "%~nx1"') do for /f "tokens=1-4 delims=. " %%a in ("%%f") do set "Zeit=%%c-%%b-%%a %%d") kein Ergebnis / keinen Logeintrag generiert.

Sollte man sich meiner nochmal erbarmen face-wink werde ich natürlich das Script wieder austesten, an sonsten werde ich eben mit dem ersten Script von basla leben müssen.

Gruß ... tc (...der kleine Illuminati?!)
Member: bastla
bastla Aug 31, 2011 at 21:58:44 (UTC)
Goto Top
Hallo truecolor!

Sorry - kann ich nicht nachvollziehen.

Als Demo mit Bildschirmausgabe sowohl von Änderungs- als auch Erstellungszeit (und Eintrag in das Logfile mit Erstellungszeit):
@echo off & setlocal
set "Log=D:\Protokoll.txt"  

for %%i in ("c:\Projekt_1\Projekt_1.mdb" "c:\Projekt_2\Projekt_2.mdb" "c:\Projekt_2\Projekt_1.mdb") do call :ProcessFile "%%~i"  
>>"%Log%" echo\  
pause
goto :eof

:ProcessFile
for /f "tokens=1-4 delims=. " %%a in ("%~t1") do set "Zeit=%%c-%%b-%%a %%d"  
echo Ge„ndert:%~n1 - %Zeit%
for /f "delims=" %%f in ('dir /tc %1^|findstr /i "%~nx1"') do for /f "tokens=1-4 delims=. " %%a in ("%%f") do set "Zeit=%%c-%%b-%%a %%d"  
echo Erstellt:  %~n1 - %Zeit%
echo\
>>"%Log%" echo %~n1 - %Zeit%  
goto :eof
Wenn das dann bei Dir auch vernünftig aussieht, kannst Du die Zeilen 6, 10, 11, 13 und 14 wieder entsorgen (oder zumindest durch das Voranstellen von REM auskommentieren) ...

Grüße
bastla
Mitglied: 65883
65883 Sep 07, 2011 at 11:01:10 (UTC)
Goto Top
...
Sorry, dass ich mich hier gerade etwas rar gemacht hab. Steh momentan ordentlich unter Strom und habe leider noch keine Zeit gefunden, mich dem Thema nochmal zu widmen. Sobald hier wieder etwas Luft ist, gibt es umgehend Feedback.
Mitglied: 65883
65883 Sep 30, 2011 at 06:56:31 (UTC)
Goto Top
Hallo zusammen,

so, jetzt konnte ich mir Zeit nehmen das ganze nochmal durch zu spielen.

"Wer lesen kann, ist ganz klar im Vorteil" musste ich für mich feststellen ... natürlich funktioniert das Script von bastla. Dank der Echo-Ausgabe konnte nun auch ICH das erkennen.

Vielen Dank für eure Unterstützung.


Grüße ... tc
Member: Skyemugen
Skyemugen Sep 30, 2011 at 07:15:33 (UTC)
Goto Top
Zitat von @Biber:
Oder "Wake me up before september ends"?

Kommentar truecolor schreibt am 30.09.2011, 08:56:31 Uhr

gerade noch rechtzeitig xD