Batch zum Öffnen und Protokollieren, wann Datei geschlossen wurde
Hallo zusammen,
ich hoffe ich habe die Frage korrekt zugeordnet.
Ich benötige eine Batch Datei, die eine bestimmte Excel Liste öffnet, diese dann in ein Log schreibt.
Der Batch soll aber so lange laufen, bis die Excel Liste geschlossen wurde.
Dieses schließen sollte möglichst auch protokolliert werden.
Die User, die diese Excel Liste per Batch öffnen, haben keinen Zugriff auf den Taskmanager!
Hier mein erster Ansatz, der das öffnen schon mal Protokolliert:
Leider fehlt mit das warten der Batch Datei und das Protokollieren beim schließen der Excel Liste.
Vielen Dank im Voraus.
ich hoffe ich habe die Frage korrekt zugeordnet.
Ich benötige eine Batch Datei, die eine bestimmte Excel Liste öffnet, diese dann in ein Log schreibt.
Der Batch soll aber so lange laufen, bis die Excel Liste geschlossen wurde.
Dieses schließen sollte möglichst auch protokolliert werden.
Die User, die diese Excel Liste per Batch öffnen, haben keinen Zugriff auf den Taskmanager!
Hier mein erster Ansatz, der das öffnen schon mal Protokolliert:
@echo off
CLS
start "" "Netzwerkpfad\Exceldateiname.xlsx"
echo Urlaubskalender geöffnet am %DATE% um %TIME:~-11,2%:%TIME:~-8,2% Uhr von %USERNAME% >> \\Netzwerkpfad\logging.log
exit
Leider fehlt mit das warten der Batch Datei und das Protokollieren beim schließen der Excel Liste.
Vielen Dank im Voraus.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 842828846
Url: https://administrator.de/forum/batch-zum-oeffnen-und-protokollieren-wann-datei-geschlossen-wurde-842828846.html
Ausgedruckt am: 12.05.2025 um 03:05 Uhr
7 Kommentare
Neuester Kommentar
Probier mal folgendes... Pfade müssten ggfs. angepasst werden:
Grüße I.
@echo off
CLS
echo Urlaubskalender geoeffnet am %DATE% um %TIME:~-11,2%:%TIME:~-8,2% Uhr von %USERNAME% >> \\Netzwerkpfad\logging.log
call "C:\Program Files (x86)\Microsoft Office\Office14\excel.exe" "Netzwerkpfad\Exceldateiname.xlsx"
echo Urlaubskalender geschlossen am %DATE% um %TIME:~-11,2%:%TIME:~-8,2% Uhr von %USERNAME% >> \\Netzwerkpfad\logging.log
exit
Grüße I.
Hallo,
Grüße
lcer
Zitat von @ALTAGO:
Könntest Du die Frage bitte als Frage, und nicht als Wissensbeitrag klassifizieren? Müsste über Bearbeiten des ursprünglichen Posts gehen.Grüße
lcer
Moin,
Du gibst doch vor, mit was er öffnen soll!
Prüfe also, ob Excel vorhanden ist (If exists) oder LibreOffice (If exists) und schreibe den PFad jeweils in eine eigene Variable.
Wenn weder das eine, noch das andere vorhanden ist, zeige eine Meldung alá "Bisd du bescheiat, de Datei zua öffna?"
Gruß
em-pie
Zitat von @ALTAGO:
Das klappt soweit super, solange die User Excel haben.
Sollte der User aber nur eine OpenOffice Lösung in Form Libre haben, läuft er hier auf Fehler.
Das ist die Frage, ob er prüfen kann, ob Excel vorhanden ist... oder Libre
Das klappt soweit super, solange die User Excel haben.
Sollte der User aber nur eine OpenOffice Lösung in Form Libre haben, läuft er hier auf Fehler.
Das ist die Frage, ob er prüfen kann, ob Excel vorhanden ist... oder Libre
Du gibst doch vor, mit was er öffnen soll!
Prüfe also, ob Excel vorhanden ist (If exists) oder LibreOffice (If exists) und schreibe den PFad jeweils in eine eigene Variable.
Wenn weder das eine, noch das andere vorhanden ist, zeige eine Meldung alá "Bisd du bescheiat, de Datei zua öffna?"
Gruß
em-pie
Ich hätte es etwas anders gelöst:
@echo off
CLS
SET LOG=\\Netzwerkpfad\logging.log
SET XLS="\\Netzwerkpfad\Exceldateiname.xlsx"
SET PGM=""
if exist "C:\Program Files (x86)\Microsoft Office\Office15\excel.exe" SET PGM="C:\Program Files (x86)\Microsoft Office\Office15\excel.exe"
if exist "C:\Program Files (x86)\LibreOffice\program\scalc.exe" SET PGM = "C:\Program Files (x86)\LibreOffice\program\scalc.exe"
if %PGM% EQU "" goto end
echo Urlaubskalender geöffnet am %DATE% um %TIME:~-11,2%:%TIME:~-8,2% Uhr von %USERNAME% mit %PGM%>> \\Netzwerkpfad\logging.log
call %PGM% %XLS%
echo Urlaubskalender geschlossen am %DATE% um %TIME:~-11,2%:%TIME:~-8,2% Uhr von %USERNAME% >> %LOG%
goto :end
:end
exit