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

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, 12951 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 - Zeilen einer Textdatei als Variable setzten,zählen und so oft Befehl ausführen
gelöst Frage von SnickaazBatch & Shell1 Kommentar

Halli Hallo, leider komme ich gerade nicht weiter mit meiner Batch-File. Bin auch nicht so der Profi (eher gar ...

Batch & Shell
Batch Datei - Mehrzeilige Textdatei
gelöst Frage von SchmakusBatch & Shell5 Kommentare

Hallo Zusammen, ich möchte mit einer Batch Datei eine Textdatei erstellen. Ich verwende 2 Variablen (%1, %2). Die Textdatei ...

Batch & Shell
Batch datei ausführen für einen anderen Rechner
gelöst Frage von TutterBatch & Shell3 Kommentare

Hallo an alle, ich möchte gern einen batchbefehl auf einen Rechner ausführen. Das muss aber ein anderer Anstoßen. Um ...

Batch & Shell
Nach Muster von Dateien, diese hochzählen
gelöst Frage von Erik72Batch & Shell12 Kommentare

Hallo zusammen, die führenden Nullen-Aufgabe von heute morgen habe ich so gelöst: #!/bin/sh x=1 for fname in /Verzeichnis/*.abc do ...

Neue Wissensbeiträge
Perl

Perl hat heute Geburtstag: 30 Jahre Perl: Lange Gesichter zum Geburtstag

Information von Penny.Cilin vor 7 StundenPerl2 Kommentare

Hallo, auch wenn es wenige wissen und noch weniger Leute es nutzen. Perl hat heute Geburtstag. 30 Jahre Perl ...

Sicherheit

Blackberry stirbt - Keine Updates für Priv mehr

Tipp von certifiedit.net vor 7 StundenSicherheit1 Kommentar

Blackberry wird zu einer 08/15 Firma und geht wohl mehr und mehr den Weg, den HTC schon ging. Von ...

Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 TagenWindows 1010 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 2 TagenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell22 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Netzwerkgrundlagen
Belibiges Teilnetz einer Subnetzmaske rausfinden?
gelöst Frage von CenuzeNetzwerkgrundlagen18 Kommentare

Wundervollen Gutentag, mittlerweile kann ich Subnetting so einigermaßen, aber ein Problem habe ich noch. Netzwerkadresse und Boradcast errechnen ist ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless12 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Windows Server
Logging von "gesendeten Nachrichten" auf Terminalservern
gelöst Frage von Z3R0C0MM4N0THiN6Windows Server10 Kommentare

Hallo zusammen, kann mir jemand auf kurzem Wege sagen ob 1) die per Task-Manager (oder damals tsadmin) an Benutzer ...