Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Variable addieren (%%i und %%i=2 auch wenn der Inhalt 0 ist)

Frage Entwicklung Batch & Shell

Mitglied: Andynix

Andynix (Level 1) - Jetzt verbinden

17.12.2006, aktualisiert 19.12.2006, 12847 Aufrufe, 5 Kommentare

Log Datei auslesen - nur bei Fehlern melden

Hallo zusammen,
ich habe eine kleinen Batchdatei die mit ROBOCOPY kleines Backup fährt. Eine Logdatei wird dabei auch erstellt - er liest sie aber ?
Deswegen möchte ich dass eine Meldung kommt oder später etwas zur mir geschickt wird.

Es sieht wie folgt aus:

@echo off
for /F "Tokens=6 Delims= " %%i in ('type log.txt^|Find "Dirs"') do ( IF NOT %%i==0 set "fehler=%%i+%%i" )
echo %fehler%
if not %fehler%==0 goto fehler
echo Alles OK
goto :eof

:fehler
color c
title Achtung es sind Fehler aufgetreten
echo Überprüfe das Protokoll !

Das Problem liegt wohl in der fett geschriebenen Klammer ?
Bin für jede Hilfe dankbar.
Mitglied: bastla
17.12.2006 um 21:18 Uhr
Hallo Andynix!

Versuch es mal statt der ersten beiden Zeilen so (dass die "type|find"-Kombination den richtigen Wert liefert, setze ich voraus):
01.
@echo off & setlocal enabledelayedexpansion 
02.
set fehler=0 
03.
for /f "tokens=6 delims= " %%i in ('type log.txt^|find "Dirs"') do set /a fehler=!fehler!+%%i
HTH
bastla
Bitte warten ..
Mitglied: Biber
18.12.2006 um 07:37 Uhr
Moin Andynix,
nur als Fussnote zu bastla's Lösung.

In diesem Fall kannst Du es auch ohne die "DelayedExpansion" abfackeln

01.
@echo off & setlocal 
02.
for /f "tokens=6 delims= " %%i in ('type log.txt^|find "Dirs"') do set /a fehler+=%%i 
03.
...
Grüße
Biber
Bitte warten ..
Mitglied: Andynix
18.12.2006 um 09:41 Uhr
viellen Dank euch beiden,
beide Lösungen gehen, ich bevorzuge aber den Bieber.

Frage Nr.2 (aber auch zum Thema)
Kann ich beiden Spalten (Mismatch, FAILED) im einen rutsch auswerten ?

Total Copied Skipped Mismatch FAILED Extras
Dirs : 147 146 1 1 1 0
Bitte warten ..
Mitglied: Biber
18.12.2006 um 14:21 Uhr
Moin Andynix,

Oh ja, da gibt es sogar eine kleine feine undokumentierte Syntax aus meinem Fundus für Dich:

01.
@echo off & setlocal 
02.
for /f "tokens=5,6 delims= " %%i in ('type log.txt^|find "Dirs"') do set /a "cntMismatch+=%%i, cntFailed+=%%j" 
03.
 
04.
REM danach steht in %cntMismatch% die Summe-Anzahl-Mismatched und in %cntFailed% die Summe-Anzahl-Failed%. 
05.
...
...weil bald Weihnachten is'...


Gruß
Biber
Bitte warten ..
Mitglied: Andynix
19.12.2006 um 08:39 Uhr
01.
... 
02.
:AUSWERTUNG 
03.
for /f "tokens=6,7 delims= " %%i in ('type F:\log.txt^|find "Dirs"') do set /a "cntMismatch+=%%i, cntFailed+=%%j" 
04.
if not %cntMismatch%==0 goto FEHLER 
05.
if not %cntFailed%==0 goto FEHLER 
06.
...
...bin echt froh, dass ich die Frage kurz vor Weihnachten los bin (sonst bekämme ich womöglich keine Antwort
Es muss jedoch tokens=6,7 heißen.

...schöne Feiertage !...
Bitte warten ..
Ähnliche Inhalte
Sonstige Systeme
gelöst IBM Power i (4)

Frage von Hanuta zum Thema Sonstige Systeme ...

LAN, WAN, Wireless
2 WLAN Router, 1 für I-Net, ist das möglich? (6)

Frage von larado56 zum Thema LAN, WAN, Wireless ...

Off Topic
gelöst IT-Doku: Docusnap vs. i-doit (6)

Frage von Dude-from-R00t zum Thema Off Topic ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 im Unternehmen? (26)

Frage von zorlayan zum Thema Windows 10 ...

LAN, WAN, Wireless
Ping u. DNS geht am Rechner nicht mehr (18)

Frage von Kuemmel zum Thema LAN, WAN, Wireless ...

Festplatten, SSD, Raid
Raid 1 2 SSD mit Windows Server 2016 (17)

Frage von jaywee zum Thema Festplatten, SSD, Raid ...

Voice over IP
Über Fritzfax over IP gehen nur einige Faxe (12)

Frage von shearer9 zum Thema Voice over IP ...