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

Bestimmte Texte in Textfile addieren und substrahieren

Frage Entwicklung Batch & Shell

Mitglied: lordifm

lordifm (Level 1) - Jetzt verbinden

21.06.2006, aktualisiert 26.06.2006, 4037 Aufrufe, 5 Kommentare

Hallo,

habe folgende Frage. Es geht um ein FlexLM Logfile, welches folgendermassen aussieht:

7:56:58 (xx_D) IN: "software" rrrrrrrrrr@xxxxx
7:57:37 (xx_D) OUT: "software" rrrrrrrrrr@xxxxx
7:59:53 (xx_D) OUT: "software" rrrrrrrrrr@xxxxx
8:00:31 (xx_D) OUT: "software" rrrrrrrrrr@xxxxx
8:03:48 (xx_D) IN: "software" rrrrrrrrrr@xxxxx

Ziel ist es nun zu wissen, wieviel der vorhanden x Lizenzen bei Ausführung noch frei sind. D.h. nehmen wir an X=10,
dann sollten von den 10 alle OUT abgezogen werden und alle IN wieder dazugezählt werden, d.h. beim Beispiel oben wäre das Ergebnis 9.

Könnt ihr mir bitte ein detailiertes Beispiel posten, da meine Batchkenntnisse nicht die besten sind.

Danke
lordifm
Mitglied: Biber
21.06.2006 um 13:18 Uhr
Okay, lordifm,

wenn Diese Logdatei "lordifm.log" heißen würde und auf Laufwerk F:\ läge, dann würde vom CMD-Prompt aus dieses helfen:
01.
for /f "tokens=3" %i in ('find /c "IN:" f:\lordifm.log') do @Set /a NowIN=%i 
02.
for /f "tokens=3" %o in ('find /c "OUT:" f:\lordifm.log') do @Set /a NowOUT=%o
Erläuterung:
Find /C "OUT:"-------> zählt die Fundstellen (=Fund-Zeilen) von "IN:" bzw. "OUT:" im *.log
Das FOR /F...-Konstrukt nimmt von der Rückgabe, die so aussieht,
01.
---------- F:\LORDIFM.LOG: 3
....das dritte Token. ("Token" hier in etwa "Feld" oder "Wort"). Also die Zahl 3.

...und speichert diese Zahl als numerischen Wert mit SET /A variablenname=wert

Mit Set Now kannst Du die Werte anzeigen/prüfen.
Im Mini-Batch also:
01.
@echo off & setlocal 
02.
Set "Logfile=f:\lordifm.log" 
03.
Set /a nTotal=10 
04.
for /f "tokens=3" %%i in ('find /c "IN:" %logFile%') do Set /a NowIN=%%i 
05.
for /f "tokens=3" %%o in ('find /c "OUT:" %logFile%') do Set /a NowOUT=%%o 
06.
Set /a nNowFree=%nTotal% - %NowIn% + %NowOut% 
07.
Echo Noch frei sind %nNowFree% Lizenzen. 
So in etwa die ungetestete Skizze.

HTH Biber
Bitte warten ..
Mitglied: lordifm
21.06.2006 um 13:52 Uhr
Hey Biber,

super alles klar, hast zwar in der vorletzten Zeile Out und In vertauscht (Out abziehen und IN hinzuzählen), aber dass isses und ich habs kapiert.

Aber noch ein kleines Problemchen:

Dieses Batch soll nun über den Taskmanager jede Minute laufen und das Ergebinis mit Datum und Uhrzeit in ein Textfile schreiben. Hier hab ich das Problem, dass er mit %nNowFree% >> c:\ausgabe.txt einen Fehler bringt.

Hast du dafür noch ein Beispiel.

Danke und Grüße, Lord
Bitte warten ..
Mitglied: Biber
21.06.2006 um 16:22 Uhr
Hm, lordimg,
das sollte (sinngemäß) gehen mit
01.
... 
02.
echo %date% %time%: %nNowFree% freie Lizenzen>>%ausgabedatei%
Wenn Du den "Satzbau" umgekehrt hast:
01.
... 
02.
echo %date% %time% - Freie Lizenzen: %nNowFree%>>%ausgabedatei%
..dann könnte es Probleme geben, wenn %nNowFree% gleich 1,2,3,4 oder 5 ist.
Denn das sind in diesem Kontext "Sonderzeichen" - weil sie vor einem Umleitungssymbol stehen.
Es würde ja aufgelöst werden zu:
01.
... 
02.
echo 21.06.2006  16:15:29 - Freie Lizenzen: 2>>%ausgabedatei%
..und das wiederum wurde bedeuten, dass das Device #2, STDERR, alle Fehlermeldungen des Befehls "echo" in die Datei umgeleitet werden sollen.
Meine Empfehlung: diese Situation vermeiden (Satzbau umstellen).

Wenn das nicht gehen sollte (wegen des ästhetischen Empfindens des Chefs z.B.), dann den undokumentierten Biber-Weg nehmen:
01.
... 
02.
IF %nNowfree% LSS 6 ( 
03.
echo %date% %time% - freie Lizenzen: ^%nNowFree%>>%ausgabedatei% 
04.
) ELSE ( 
05.
echo %date% %time% - freie Lizenzen: %nNowFree%>>%ausgabedatei% 
06.
)
Gruß
Biber
Bitte warten ..
Mitglied: lordifm
21.06.2006 um 16:35 Uhr
Super, danke alles klar.
Bitte warten ..
Mitglied: Biber
26.06.2006 um 22:34 Uhr
[Auf "Gelöst" gesetzt und geschlossen.]
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Bestimmte Zeilen einer Datei addieren - Linux
gelöst Frage von lapvikaBatch & Shell2 Kommentare

Hallo zusammen, ich habe eine Datei die wie folgt aussieht: 536870912 - System1_2 536870912 - System1_3 536870912 - System1_4 ...

Batch & Shell
Text aus einem Textfile auslesen und in Zeile 1 hinein kopieren
Frage von IronangelBatch & Shell2 Kommentare

Hallo zusammen, dies ist mein erster Beitrag. Ich hoffe hier Hilfe zu finden. Ich benötige einen Befehl für ein ...

Batch & Shell
Text an bestimmter Stelle einfügen
gelöst Frage von noob-xBatch & Shell2 Kommentare

Hallo bin mal wieder am Basteln, komm aber nicht weiter wie stelle ich es an dass nummer 1 immer ...

Batch & Shell
Bestimmte Zeilen einer Datei addieren und ausgeben - Linux
gelöst Frage von lapvikaBatch & Shell2 Kommentare

Hallo zusammen, ich habe eine Datei die wie folgt aussieht: 2147483648 - System1_lun01 2147483648 - System1_lun02 2147483648 - System1_lun03 ...

Neue Wissensbeiträge
Windows 10

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

Tipp von kgborn vor 7 StundenWindows 101 Kommentar

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 9 StundenSicherheits-Tools

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

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 23 StundenInternet3 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 1 TagDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte16 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server16 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...

Windows Server
KMS Facts for Client configuration
Frage von winlinWindows Server12 Kommentare

Hey Leute, wir haben in unserem Netz nun einen neuen KMS Server. Haben Bestands-VMs die noch nicht aktiviert sind. ...