ChangeLog Batch
Gute Morgen ihr Administratoren :b
Wie immer erstmal der Disclaimer, ich bin nur ein Batch Laie
Ich wollte ein Batch schreiben, dass als Art ChangeLog Erfassung dient.
Der Gedanke dahinter ist, dass jeder der in der Abteilung nachdem er eine Änderung im System vorgenommen hat 1x den Batch aufruft und die getätigten Änderungen einträgt.
Geplant ist dann, das ganze mit Excel einzulesen und es ein wenig übersichtlicher zu Strukturieren, das ist jedoch noch nicht ausgearbeitet.
Jedoch funktioniert das ganze nicht so wirklich ^^
Könntet ihr mal drüber gucken?
hier mal mein Code
wie immer bin ich mir sicher, dass es bestimmt 100 besser Möglichkeiten gibt dies zu realisieren, insbesondere mit anderen Programmiersprachen aber ich mag die Herrausforderung es in Batch zu versuchen.
MfG Budders/Gerrit
[Edit] Dateiendungen korrigiert
Wie immer erstmal der Disclaimer, ich bin nur ein Batch Laie
Ich wollte ein Batch schreiben, dass als Art ChangeLog Erfassung dient.
Der Gedanke dahinter ist, dass jeder der in der Abteilung nachdem er eine Änderung im System vorgenommen hat 1x den Batch aufruft und die getätigten Änderungen einträgt.
Geplant ist dann, das ganze mit Excel einzulesen und es ein wenig übersichtlicher zu Strukturieren, das ist jedoch noch nicht ausgearbeitet.
Jedoch funktioniert das ganze nicht so wirklich ^^
Könntet ihr mal drüber gucken?
hier mal mein Code
@echo off
chcp 2500>nul
title ChangeLog
:start
G:
cd Change
if exist log.tmp del log.tmp
cls
echo Änderungen im Editor eintragen und speichern, mit beliebiger Taste hier bestätigen.
echo Hier bitte die vorgenommenen Änderungen eintragen, danach speichern (Strg+S) und in die Konsole wechseln:>log.tmp
start notepad.exe log.tmp
pause>nul
for /f %%i in (log.tmp) do (
echo %%i|findstr"Hier bitte">nul && call :delin
set chg=%%i
echo %chg%>ChangeLog.txt
)
exit
::delin
set /p chg=%chg:~104,9999999%
exit /b
wie immer bin ich mir sicher, dass es bestimmt 100 besser Möglichkeiten gibt dies zu realisieren, insbesondere mit anderen Programmiersprachen aber ich mag die Herrausforderung es in Batch zu versuchen.
MfG Budders/Gerrit
[Edit] Dateiendungen korrigiert
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 215531
Url: https://administrator.de/contentid/215531
Ausgedruckt am: 22.11.2024 um 10:11 Uhr
11 Kommentare
Neuester Kommentar
Hallo @Budders,
Raffiniert, das über Notepad zu lösen.
Allerdings würde ich das so lösen:Dann kannst du dir auch das pause>nul sparen, weil die Batch weitergeht, sobald der notepad-Prozess geschlossen wird.
Was funktioniert denn genau nicht?
Gruß,
@Snowman25
Raffiniert, das über Notepad zu lösen.
Allerdings würde ich das so lösen:
Echo. >> log.txt
start /WAIT notepad.exe log.txt
Was funktioniert denn genau nicht?
Gruß,
@Snowman25
Hallo,
ein Vorschlag:
Im übrigen ist mir rätselhaft, wo du hinwillst mit dem Code ...
[OT]
Und die FAQ mit dem HTML Code ist auch weg keine Smilies mehr --> M!st
[/OT]
lg.
PS: dieser
ein Vorschlag:
:delin
FOR %%a IN (c) DO set "chg=%%i"
set "chg=%chg:~104,8191%"
echo %chg%>>ChangeLog.txt
exit /b
[OT]
Und die FAQ mit dem HTML Code ist auch weg keine Smilies mehr --> M!st
[/OT]
lg.
PS: dieser
if
Befehl in Zeile 4 wird nie true sein, weil du dort delayed expansion
einsetzen musst.
So. bin aus der Mittagspause zurück.
Hast du dir mal
Deine Schleife muss so aussehen: Dann wird auch die ganze Zeile in die Variable eingespeist und nicht nur das erste Wort.
Gruß,
@Snowman25
Hast du dir mal
for /?
durchgelesen?Deine Schleife muss so aussehen:
for /f "delims=" %%i in (log.tmp) do (
Gruß,
@Snowman25
moin Budders,
Den changelog mit Notepad zu erstellen finde ich Super, da dieser ja auch zu 98% von den Nutzern in Notepad gelesen wird.
Anstatt die Zeile mit den Schreiben und Speichern in Notepad erst anzuzeigen, und danach zu löschen die Frage: Ist die Zeile vollständig vorhanden oder nur Teilweise, da der Cursor zuerst am Anfang der Datei steht.
Vorschlag: Leere Datei erzeugen (Dateiname -> "changes eintragen, speichern und schliessen.txt")
- erzeuge eine Verzögerte Meldung Batch; vbs-Messagebox ist hier alles zu finden
- Öffne dann Notepad Dateiname
- Die Message legt sich über Notepad
- Kopiere die fertige changelog mit Datum ins Archiv
Gruß Phil
Den changelog mit Notepad zu erstellen finde ich Super, da dieser ja auch zu 98% von den Nutzern in Notepad gelesen wird.
Anstatt die Zeile mit den Schreiben und Speichern in Notepad erst anzuzeigen, und danach zu löschen die Frage: Ist die Zeile vollständig vorhanden oder nur Teilweise, da der Cursor zuerst am Anfang der Datei steht.
Vorschlag: Leere Datei erzeugen (Dateiname -> "changes eintragen, speichern und schliessen.txt")
- erzeuge eine Verzögerte Meldung Batch; vbs-Messagebox ist hier alles zu finden
- Öffne dann Notepad Dateiname
- Die Message legt sich über Notepad
- Kopiere die fertige changelog mit Datum ins Archiv
Gruß Phil