veniplex
Goto Top

Batch: Öffnen einer Textdatei nach Systemneustart

Hallo zusammen,

ich habe eine Batch geschrieben, die eine automatisierte Installation eines Programm durchführt.
Nach der Installation soll der PC neu gestartet werden.
Ich würde gerne, dass nach dem ersten Neustart eine Textdatei geöffnet wird (ein Logfile). Wie stelle ich sowas an, nur mit einer Batch?

Danke!

Content-ID: 302802

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

Ausgedruckt am: 23.11.2024 um 01:11 Uhr

127944
Lösung 127944 25.04.2016 um 11:35:29 Uhr
Goto Top
Hi,

ich würde es mit der Registry versuchen:

RunOnce
Meierjo
Meierjo 25.04.2016 um 11:36:19 Uhr
Goto Top
Hallo

Das Logfile wird ja von der Installation erstellt, oder??

Frag doch einfach das Existieren dieses Logfiles ab

If exist %Logfile% goto fertig

:fertig
start /MAX notepad %Logfile%

Gruss
H41mSh1C0R
H41mSh1C0R 25.04.2016 um 11:38:41 Uhr
Goto Top
Hi sklaim,

erstelle über ein Regfile einen Eintrag in der Registry unter:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

Dann wird nach dem Reboot dir auch das Logfile angezeigt.

Wenn das Logfile nur einmal angezeigt werden soll kannst du auch RunOnce statt Run benutzen.

Gruß
veniplex
veniplex 25.04.2016 um 11:41:34 Uhr
Goto Top
Hallo Meierjo,

wie ich die Datei öffne ist weniger das Problem.
Mein Problem bezieht sich eher darauf wie ich dem System sagen kann: "Führe nach dem nächsten Neustart nur diesen befehl aus und nachdem du das gemacht hast sollst du es nicht mehr machen."

Also Schritt für Schritt:

1. Installations-Batch wird ausgeführt.
2. Logdatei wird währenddessen erstellt.
3. Installation wird abgeschlossen.
4. PC startet neu.
5. Es öffnet sich automatisch die Logfile.

Ich gucke mir mal den Link von Edzard an, ich denke dass geht schon in die richtige Richtung. face-smile

Danke.
Meierjo
Meierjo 25.04.2016 um 11:44:43 Uhr
Goto Top
Kein Problem

Aber mit der Schlaufe in der Batch würdest du das meines Erachtens auch erreichen.

Wenn Logifle vorhanden, dann öffnen
Wenn Logfile nicht vorhanden, Installation durchführen

Gruss
veniplex
veniplex 25.04.2016 um 11:47:00 Uhr
Goto Top
Dann müsste ich die Batch aber doch immer manuell aufrufen face-smile.. Das will ich ja eben nicht.
127944
127944 25.04.2016 um 11:48:58 Uhr
Goto Top
Dafür ist Runonce - wie der Name schon gesagt - gedacht face-smile
veniplex
veniplex 25.04.2016 um 11:55:34 Uhr
Goto Top
Ich habe das jetzt mal ausprobiert mit einer ".reg" Datei:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce]
"ProyasLogFile"="C:\temp\proyas_logfile.log"  

Habe ich da einen Fehler gemacht?

Wenn ich die Datei ausführe, dann bekomm eich eine Meldung dass alle Schlüssel erfolgreich eingetragen wurden. Allerdings finde ich keinen in der Registry.. und nach einem Neustart tut sich da auch nichts.
127944
127944 25.04.2016 um 12:00:47 Uhr
Goto Top
Warum HKLM und nicht HKCU?
Pjordorf
Pjordorf 25.04.2016 um 12:07:53 Uhr
Goto Top
Hallo,

Zitat von @127944:
Warum HKLM und nicht HKCU?
Weil es oben schon so stand und der TO den Unterschied nicht kennt bzw. evtl. auch keine Rechte für HKLM hat...

@sklaim
HKLM = Lokale Maschine, darf nicht jeder drin Schreiben
HKCU = Derzeit angemeldeter Benutzer, darf der Benutzer sogar drin Schreiben

Gruß,
Peter
rubberman
Lösung rubberman 25.04.2016 aktualisiert um 12:11:41 Uhr
Goto Top
Hallo,

ich würde außerdem das Programm zum öffnen mitgeben.
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce" /v "ProyasLogFile" /t REG_SZ /d "\"%SystemRoot%\System32\notepad.exe\" \"C:\temp\proyas_logfile.log\"" /f  

Grüße
rubberman
veniplex
veniplex 25.04.2016 um 12:11:31 Uhr
Goto Top
Ja, der Unterschied ist mir bewusst. Ich habe HKLM genommen, da es sein kann dass sich nach dem Neustart ein anderer User anmeldet.
Administrative Rechte habe ich. Ich kann mit der o.g. ".reg" aber auch keinen HKCU Eintrag anlegen...

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce]
"ProyasLogFile"="C:\temp\proyas_logfile.log"  
veniplex
veniplex 25.04.2016 um 12:13:25 Uhr
Goto Top
Ich habe eine proyas.reg Datei geschrieben in der folgender Code enthalten ist:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce]
"ProyasLogFile"="C:\temp\proyas_logfile.log"  

Die Datei habe ich testweise erstmal per Administrator ausgeführt. Da passiert allerdings nichts in der Registry.
127944
127944 25.04.2016 aktualisiert um 12:18:50 Uhr
Goto Top
Die \ müssen doppelt \\

PS: Das da nichts passier sollte mich wundern. Evtl. nur ein F5 vergessen?
veniplex
veniplex 25.04.2016 um 12:18:29 Uhr
Goto Top
Danke rubberman!

Dein Code funktioniert wunderbar:

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce" /v "ProyasLogFile" /t REG_SZ /d "\"%SystemRoot%\System32\notepad.exe\" \"C:\temp\proyas_logfile.log\"" /f  

face-smile
MrCount
Lösung MrCount 25.04.2016 um 12:24:00 Uhr
Goto Top
Hi sklaim,

in deiner Install-Batch könntest du nach der Installation einfach eine neue Batch in den Autostart-Ordner legen, die dann das Logfile beim nächsten Start öffnet und sich anschließend selber löscht...


... dein Install-Script


rem Autostart für aktuell angemeldeten Benutzer / User:
set "mypath=%appdata%\Microsoft\Windows\Start Menu\Programs\Startup"  

echo mypath = %mypath%
> "%mypath%\show_log.bat" (  
echo @echo off
echo start C:\temp\proyas_logfile.log
echo del "%mypath%\show_log.bat"  
)
veniplex
veniplex 25.04.2016 um 12:27:08 Uhr
Goto Top
Hallo MrCount,

das ist auch eine sehr gute Möglichkeit.
Danke dafür! face-smile