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

Hochzählen einer Variable in einer Textdatei beim ausführen einer Batch Datei

Frage Entwicklung Batch & Shell

Mitglied: knechtibus

knechtibus (Level 1) - Jetzt verbinden

24.02.2009, aktualisiert 09:40 Uhr, 12322 Aufrufe, 3 Kommentare

Hallo die Damen und Herren,

ich habe da ein kleines Problem, welches wahrscheinlich für die meisten von Euch erbärmlich einfach erscheint.
Tortz allem beschäftigt es mich als absoluten Programmieranfänger. Ich versuche einmal das Problem zu schildern.
Vorab: Das Problem soll kompelett mit Batch Dateien gelöst werden!

Ich habe ein Programm, das in unregelmäßigen Abständen eine Batch Datei aufruft (Batch Datei #1), das macht es auch schon. Diese Batch Datei soll jetzt ganz simpel eine Variable in einer Text Datei hochzählen. Also in der Text Datei steht eine Variable mit dem Wert 1 und die Batch Datei #1 erhöht den Wert dieser Variablen wenn sie ausgeführt werden um den Wert 1 (Also nachdem die Batch Datei #1 das zehnte mal ausgeführt wurde, steht in der Text Datei der Wert 10).

So ich denke mal das war mein kleineres Problem. Jetzt kommt die zweite Batch Datei ins Spiel. Diese Batch Datei #2 soll nun alle 10 Minuten die Variable aus der oben erwähnten Text Datei auslesen. Wenn der Wert dieser Variablen größer 100 ist, soll diese Batch Datei #2 eine e-mail versenden. Ist der Wert kleiner 100 soll der Wert in der Textdatei wieder auf ihren Anfangswert 1 zurückgesetzt werden.

Das mit dem e-mail versenden bekomme ich hin aber das alles drum herum leider nicht.

Ich hoffe ich konnte mein Problem einigermaßen deutlich beschreiben, ansonsten bemühe ich mich gerne noch um eine andere/ausführlichere Beschreibung.

Vielen Dank schon einmal im Voraus.

Mit freundlichen Grüßen Knechtibus
Mitglied: bastla
24.02.2009 um 14:41 Uhr
Hallo knechtibus und willkommen im Forum!

Mit dem Hochzählen hattest Du recht - keine große Sache:
01.
@echo off & setlocal 
02.
set "NrDatei=D:\Nummer.txt" 
03.
if exist "%NrDatei%" ( 
04.
    set /p Nr=<"%NrDatei%" 
05.
) else ( 
06.
    set Nr=0 
07.
08.
set /a Nr+=1 
09.
>"%NrDatei%" echo %Nr%
Das Überprüfen und Mail-Versenden in der zweiten Datei sollte aber auch keine Probleme bereiten:
01.
@echo off & setlocal 
02.
set "NrDatei=D:\Nummer.txt" 
03.
if exist "%NrDatei%" ( 
04.
    set /p Nr=<"%NrDatei%" 
05.
) else ( 
06.
    set Nr=0 
07.
08.
if %Nr% gtr 100 ( 
09.
    REM SendMail 
10.
) else ( 
11.
    >"%NrDatei%" echo 1 
12.
)
Da Du vermutlich nicht wirklich 3 Fälle unterscheiden willst ("größer 100", "kleiner 100", und als weitere Möglichkeit "gleich 100"), wird in der obigen Fassung auch bei einem Wert von genau 100 noch der Anfangswert geschrieben.

Sollte übrigens nach dem Senden der Mail nicht auch der Zähler zurückgesetzt werden (da ansonsten ja in 10 Minuten automatisch die nächste Mail fällig wird)?

Falls ja, würden sich die Zeilen ab Zeilennummer 08 reduzieren auf:
01.
if %Nr% gtr 100 REM SendMail 
02.
>"%NrDatei%" echo 1
Bliebe noch das Ausführen in 10 Minuten-Abständen ...

Entweder verwendest Du den Taskplaner dafür, oder der Batch2 müsste in einer Schleife laufen und eine jeweils 10-minütige Pause einlegen. Dafür würde sich etwa die "sleep.exe" aus den Windows Server 2003 Resource Kit Tools eignen.

Grüße
bastla
Bitte warten ..
Mitglied: knechtibus
24.02.2009 um 14:57 Uhr
Danke Bastla,

werde es auf jeden Fall in den nächsten Tagen ausprobieren und mich dann nochmal melden.

Vielen Dank schonmal

Mit freundlichen Grüßen Knechtibus
Bitte warten ..
Mitglied: knechtibus
25.02.2009 um 08:05 Uhr
Schönen Guten Morgen,

hab mich also gerade nochmal rangesetzt und alles zusammengepuzzelt. Und was soll ich sagen...es funktioniert einwandfrei!

Vielen Dank bastla, ich hätte wahrscheinlich noch Tage daran gesessen. Hab selten so ein geniales Forum gesehen.

Mit freundlichen Grüßen knechtibus
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
Ä in batch Datei (12)

Frage von BergEnte zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (32)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...