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 ChangeLog Batch

Mitglied: Budders

Budders (Level 1) - Jetzt verbinden

29.08.2013, aktualisiert 11:29 Uhr, 1384 Aufrufe, 11 Kommentare, 2 Danke

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

01.
  
02.
@echo off 
03.
chcp 2500>nul 
04.
title ChangeLog 
05.
:start 
06.
G: 
07.
cd Change 
08.
if exist log.tmp del log.tmp 
09.
cls 
10.
echo Änderungen im Editor eintragen und speichern, mit beliebiger Taste hier bestätigen. 
11.
echo Hier bitte die vorgenommenen Änderungen eintragen, danach speichern (Strg+S) und in die Konsole wechseln:>log.tmp 
12.
start notepad.exe log.tmp 
13.
pause>nul 
14.
for /f %%i in (log.tmp) do ( 
15.
	echo %%i|findstr"Hier  bitte">nul && call :delin 
16.
	set chg=%%i 
17.
 	echo %chg%>ChangeLog.txt 
18.
19.
 
20.
exit 
21.
 
22.
::delin 
23.
set /p chg=%chg:~104,9999999% 
24.
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
Mitglied: Snowman25
29.08.2013 um 11:21 Uhr
Hallo Budders,

Raffiniert, das über Notepad zu lösen.
Allerdings würde ich das so lösen:
01.
Echo. >> log.txt 
02.
start /WAIT notepad.exe log.txt
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
Bitte warten ..
Mitglied: Budders
29.08.2013, aktualisiert um 11:31 Uhr
Danke für den Tip mit dem /WAIT , kannte ich garnicht hatte das erst mit einem taskkill gelöst aber das kam mir etwas user unfreundlich vor, fals User dann noch n anderen notepad task offen hat.

Was genau nicht funktioniert weiss ich selbst nicht so wirklich :S der Batch beendet sich halt, ich vermute mal auf irgendetwas mit der "for" schleife.

Das mit dem Echo. wäre auch ne idee aber ich würde jetzt gerade die for schleife gerne behalten :P

btw. ich hatte im Code den ich oben gepostet habe n paar kleinere Fehler drin. Manchmal ist es log.tmp und manchmal log.txt, ist jetzt editiert

MfG Gerrit/Budders
Bitte warten ..
Mitglied: Snowman25
29.08.2013 um 11:39 Uhr
Dein Problem ist in Zeile 15.
Du suchst nach "Hier Bitte" mit doppeltem Leerzeichen, gibst aber nur ein einfaches in die Datei.
Bitte warten ..
Mitglied: Budders
29.08.2013 um 11:45 Uhr
Das scheint nur hier im Post so zu sein, im Code ist da nur ein Leerzeichen... hier nochmal der aktuelle Code

01.
@echo off 
02.
color 0a 
03.
title ChangeLog 
04.
:start 
05.
G: 
06.
cd Plehn 
07.
if exist log.tmp del log.tmp 
08.
cls 
09.
echo Aenderungen im Editor einteragen und speichern, mit beliebiger Taste hier bestaetigen. 
10.
echo Hier bitte die vorgenommenen Änderungen eintragen, danach speichern (Strg+S) und in die Konsole wechseln:>log.tmp 
11.
start /WAIT notepad.exe log.tmp 
12.
for /f %%i in (log.tmp) do ( 
13.
	echo %%i|findstr "Hier bitte">nul && call :delin 
14.
	set chg=%%i 
15.
	echo %chg%>ChangeLog.txt 
16.
17.
 
18.
exit 
19.
 
20.
::delin 
21.
set /p chg=%chg:~104,9999999% 
22.
exit /b
Meinst du das Script sollte ansonsten so funktionieren?

MfG Budders/Gerrit
Bitte warten ..
Mitglied: Budders
29.08.2013 um 11:52 Uhr
Nein es dürfte auch so nicht funktionieren. :D
Selbsterkenntnis gerade
1.
01.
 set /p chg=%chg:~104,9999999% 
parameter /p stimmt nicht. einfach ohne parameter sollte funktionieren.
2.
01.
  
02.
echo %%i|findstr "Hier bitte">nul && call :delin 
03.
set chg=%%i
zusammen mit ::delin

egal was in ::delin in %chg% geschrieben wird, es wird sowieso in zeile 14 wieder überschrieben.
____

soviel dazu :D aber wie ich 2. beheben kann, weiss ich jetzt gerade selbst nicht :S

MfG Gerrit/Budders
Bitte warten ..
Mitglied: Budders
29.08.2013 um 12:26 Uhr
01.
 
02.
G:\Change>for /F %i in (log.tmp) do ( 
03.
echo %i  | findstr "Hier bitte"  1>nul  && call :delin 
04.
 set chg=%i 
05.
 if "" == "%i" echo  1>ChangeLog.txt 
06.
07.
 
08.
G:\Change>( 
09.
echo Hier  | findstr "Hier bitte"  1>nul  && call :delin 
10.
 set chg=Hier 
11.
 if "" == "Hier" echo  1>ChangeLog.txt 
12.
13.
 
14.
G:\Change>set chg=%i 
15.
 
16.
G:\Change>set chg= 
17.
 
18.
G:\Change>echo   1>>ChangeLog.txt 
19.
 
20.
G:\Change>exit /b 
21.
 
22.
G:\Change>( 
23.
echo 222  | findstr "Hier bitte"  1>nul  && call :delin 
24.
 set chg=222 
25.
 if "" == "222" echo  1>ChangeLog.txt 
26.
27.
 
28.
G:\Change>( 
29.
echo 333  | findstr "Hier bitte"  1>nul  && call :delin 
30.
 set chg=333 
31.
 if "" == "333" echo  1>ChangeLog.txt 
32.
33.
 
34.
G:\Change>pause
Das ist der Output von diesem Code... Mir fällt nichts mehr ein...

01.
for /f %%i in (log.tmp) do ( 
02.
	echo %%i|findstr "Hier bitte">nul && call :delin 
03.
	set chg=%%i 
04.
	if "%chg%"=="%%i" echo %chg%>ChangeLog.txt 
05.
06.
pause 
07.
exit 
08.
 
09.
:delin 
10.
set chg=%%i 
11.
set chg=%chg:~104,9999999%  
12.
echo %chg%>>ChangeLog.txt 
13.
exit /b
output in der ChangeLog.txt
01.
Echo ist angeschaltet.(on)
Bitte warten ..
Mitglied: Endoro
29.08.2013, aktualisiert um 12:51 Uhr
Hallo,
ein Vorschlag:
01.
:delin 
02.
FOR %%a IN (c) DO set "chg=%%i" 
03.
set "chg=%chg:~104,8191%"  
04.
echo %chg%>>ChangeLog.txt 
05.
exit /b
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 if Befehl in Zeile 4 wird nie true sein, weil du dort delayed expansion einsetzen musst.
Bitte warten ..
Mitglied: Snowman25
29.08.2013 um 12:48 Uhr
So. bin aus der Mittagspause zurück.

Hast du dir mal for /? durchgelesen?
Deine Schleife muss so aussehen:
01.
for /f "delims=" %%i in (log.tmp) do (
Dann wird auch die ganze Zeile in die Variable eingespeist und nicht nur das erste Wort.

Gruß,
Snowman25
Bitte warten ..
Mitglied: Budders
29.08.2013 um 12:49 Uhr
ich hab die vermutung, dass ich das nicht hin bekomme ...
Projekt wird also eingestampft.
Danke für eure Vorschläge aber naja... wird sich im endeffekt wahrscheinlich eh nicht lohnen
Bitte warten ..
Mitglied: pieh-ejdsch
29.08.2013 um 19:52 Uhr
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
Bitte warten ..
Mitglied: Budders
30.08.2013 um 08:07 Uhr
Danke dir Pieh-ejdsch , sehr schöne Vorschläge
Sollte ich den Auftrag explizit auf bekomme, werde ich das ganze Definitiv so lösen

MfG Budders
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch: Batch in batch in cfg schreiben
gelöst Frage von pixelBfBatch & Shell2 Kommentare

Hayy, ich bin neu hier im forum:)) Meine frage: Kann ich eine batch schreiben die was in eine batch ...

Batch & Shell

Batch aus Batch mit anderen Rechten starten

gelöst Frage von thilo-55Batch & Shell15 Kommentare

Hallo zusammen, bin schier am verzweifeln: System ist Win7 mit Benutzer "User" mit user-rechten und "Admin" mit admin-rechten (wer ...

Batch & Shell

Wie ändert eine batch eine bestimmte zeile in einer anderen batch

Frage von J4YK0BBatch & Shell3 Kommentare

Wie schreibt eine batch eine andere batch um, aber nur eine SPEZIELLE zeile? Das System ist wiefolgt. Man gibt ...

Batch & Shell

Womit kann ich in einer Batch viertelstündlich eine andere Batch aufrufen?

Frage von red-eyeBatch & Shell16 Kommentare

Hallo allerseits! Seit drei Stunden versuche ich selbst einen geeigneten Befehl zu finden, bzw. hier im Forum eine Antwort ...

Neue Wissensbeiträge
Server-Hardware
HP iLO ist gefährdet (iLO 4))
Tipp von AlFalcone vor 47 MinutenServer-Hardware

Gemäss Twitter und Heise gibt es eine Angriffsmöglichkeit auf iLO iLO ist gefährdet Copyright © und alle Rechte liegen ...

CMS
Erneut kritische Zero-Day-Lücke in Drupal
Tipp von Reini82 vor 9 StundenCMS

Laut einem Bericht auf t3n gibt es eine Schwere Sicherheitslücke in Drupal die auch schon ausgenutzt wird. Betroffen sind ...

Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 1 TagSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 1 TagWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

Heiß diskutierte Inhalte
Ausbildung
Wie gelingt ein guter Einstieg in die FiSi-Ausbildung? (Umschulung)
Frage von SiAnKoAusbildung27 Kommentare

Schönen guten Tag, ich bin SiAnKo und habe seit dem 1.04.2018 eine Umschulung als FiSi angefangen. Ich möchte natürlich ...

Windows Server
Alten DC entfernen
gelöst Frage von smartinoWindows Server27 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...

Batch & Shell
Mit Powershell den Inhalt einer Excel mit einer Text Datei abgleichen
gelöst Frage von Bommi1961Batch & Shell21 Kommentare

Hallo zusammen, ich muss den Inhalt einer Excel Datei (Mappe1) mit dem Daten einer Text Datei abgleichen. Die Daten ...

Router & Routing
Subnetzmaske vergrößern
gelöst Frage von groovesurferRouter & Routing17 Kommentare

Hallo, hat jemand schonmal getestet was passiert, wenn man die Subnetzmaske bei laufendem Betrieb (wenn user im Netzwerk verbunden ...