Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

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, 12859 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.

MfG 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

MfG 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.

MfG knechtibus
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von 126594 zum Thema Batch & Shell ...

Batch & Shell
gelöst Nach Muster von Dateien, diese hochzählen (12)

Frage von Erik72 zum Thema Batch & Shell ...

Batch & Shell
gelöst In einer Batch variable die Datei extension ermitteln ? (4)

Frage von Kriegstreiber zum Thema Batch & Shell ...

Neue Wissensbeiträge
Humor (lol)

Wohnt jemand in Belgien und kann nicht mehr ruhig ausschlafen?

(3)

Information von LordGurke zum Thema Humor (lol) ...

Sicherheits-Tools

Trendmicro OSCE und das Fall Creators Update Win10 RS3

(3)

Information von Henere zum Thema Sicherheits-Tools ...

Microsoft Office

Text in Zahlen umwandeln

Tipp von logische zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Microsoft Office
ICH BIN AM ENDE MEINES IT-WISSENS ANGELANGT!!!! (38)

Frage von 134537 zum Thema Microsoft Office ...

Windows Server
Gruppenrichtlinie greift nicht zu! (24)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...