Datei mit bestimmter Grösse leeren

Ralus67
Hallo Community

Ich habe mir eine Batch erstellt, welche eine Datei nach einer gewisssen Grösse löschen soll. Irgendwie sehe ich da nicht durch.

Die Batch Datei sieht folgendermassen aus:

Wenn ich im cmd "set" eingebe sehe ich folgende Variablen
logsize=11846613498
logsizemax=11846613497

also müsse doch, falls die logsize kleiner gleich ist den Wert der Maximalgrösse müsste hier die Datei gelöscht werden

Leider funktioniert diese Abfrage nicht.

Kann mir jemand mit diesem Problem weiterhelfen?

Content-Key: 617990

Url: https://administrator.de/contentid/617990

Ausgedruckt am: 18.01.2022 um 16:01 Uhr

Mitglied: cykes
cykes 31.10.2020 aktualisiert um 12:11:56 Uhr
Goto Top
Hi,
Wenn ich im cmd "set" eingebe sehe ich folgende Variablen
logsize=11846613498
logsizemax=11846613497

also müsse doch, falls die logsize kleiner gleich ist den Wert der Maximalgrösse müsste hier die Datei gelöscht werden

Leider funktioniert diese Abfrage nicht.

Kein Wunder, denn (mit den obigen Werten) gilt: logsize = logiszemax + 1 => logsize > logsizemax
Entweder umschreiben (bspw. if %logsizemax% LEQ %logsize% [...]) oder logsizemax auf bspw. 11846613499 setzen.

Kannst natürlich auch mal in der Anwendung schauene, ob nicht ein logrotate o.ä. möglich ist.

Gruß

cykes
Mitglied: rubberman
rubberman 31.10.2020 aktualisiert um 12:35:08 Uhr
Goto Top
Ergänzend:
Ja, Batch kann auch numerisch vergleichen. Aber nur innerhalb dessen, was die CMD als numerischen Wert erkennt. Und das ist eine 32 Bit breite vorzeichenbehaftete Ganzzahl. Anders gesagt, die größte Zahl die die CMD kennt ist 2147483647.
Im zweiten Vergleich ist jeweils die führende 1 abgeschnitten um in den 32 Bit Bereich zu kommen. Ergebnis:
Steffen
Mitglied: Ralus67
Ralus67 31.10.2020 um 12:36:19 Uhr
Goto Top
Hallo Cykes

mit logsizemax 11846613499 setzen, wüde die Bendingung sowieso nich funktionieren

Wenn die Datei (logsize)11846613498 hat und die logsizemax auf 11846613497 ist müsste doch die datei doch gelöscht werden

if %logsize% LEQ %logsizemax% (
echo "Dateigroesse der %Datei% nicht erreicht"
) ELSE (
echo >C:\NetIQ\idm\apps\tomcat\logs\%datei%
)

Wenn 11846613498 kleiner gleich ist 11846613497 soll das Echo Dateigrösse nicht errreicht ausgeführt werden.
jedoch wird hier der Wert überschritten. Das heisst, logsize ist grösser als logzisemax

Also müsste hier doch echo >C:\Neitq..... greifen, aber genau das funktioniert nicht.

Eventuell mache ich hier einfach ein Überlegungsfehler.

aber ich probier mal deinen Lösungsweg


Gruss Ralus67
Mitglied: rubberman
rubberman 31.10.2020 um 12:48:15 Uhr
Goto Top
Siehe meinen Kommentar oben ;-) face-wink
Mitglied: Ralus67
Ralus67 31.10.2020 um 12:57:32 Uhr
Goto Top
Hallo Steffen

Wenn ich dich richtig verstehe, ist der Wert 11 GB bzw. 11846613498 bytes für die cmd zu gross?
Mitglied: rubberman
rubberman 31.10.2020 aktualisiert um 13:08:22 Uhr
Goto Top
Ja, zu groß um numerisch verglichen zu werden. Wenn du bei Batch bleiben willst/musst, dann geht das nur über einen gezielten Workaround per String. Dazu musst du aber sicherstellen, dass die Stringlängen immer gleich sind, ansonsten wäre "2" größer als "10" da das Zeichen 2 größer als das Zeichen 1 ist.
Ungetestet:

Steffen
Heiß diskutierte Beiträge
question
Windows Exchange-Server benötige ich eine Domain?Bella21Vor 1 TagFrageWindows Server21 Kommentare

Hallo alle zusammen, ich bin neu auf dem Gebiet. Ich habe Exchange Server auf einen Windows Server 2012 installiert. Nach der Installation fertig war, ist ...

question
10Gbit Netzwerkkabel HPE J9287b X242 SFP+ gelöst jedineo2002Vor 1 TagFrageNetzwerke10 Kommentare

Hallo zusammen, ich hätte hier zwei HPE J9287B SFP+ Kabel zur Verfügung, in der Länge von 15 Metern, was zumindest schon einmal perfekt wäre von ...

question
WEBSEITE zerschossen. Brauche dringend hilfe! :) gelöst wieoderwasVor 23 StundenFrageWebentwicklung5 Kommentare

Hallo zusammen, ich wollte eben auf der Typo3 Seite von unseren Unternehmen die Erweiterung der IT Kanzlei installieren. Nun erhalte ich beim Webseiten aufruf folgenden ...

question
Scanner Log4JjoergVor 1 TagFrageSicherheits-Tools15 Kommentare

Hallo zusammen, Log4J ist ja mittlerweile schon ein paar Tage her aber immer noch aktuell. Ich bin aktuell auf der Suche nach einem Scanner der ...

question
Welcher Switch Hersteller kann trotz Silikonknappheit ordentlich liefern?NordicMikeVor 1 TagFrageSwitche und Hubs7 Kommentare

Moin zusammen, dieses Ubiquiti Zeug muss weg, das kann ja nicht einmal QoS, auch, wenn der Unifi Controller mit seiner zentralen Verwaltung gut zu bedienen ...

question
DNS neu einrichtensmschmidtVor 1 TagFrageDNS14 Kommentare

Hallo zusammen, hab wieder ein Problem: Hab einen neuen Windows Server 2022 (Server3) in unsere Domain aufgenommen, zum DC gemacht und DHCP und DNS installiert. ...

question
Telefonie noch im alten Standort erneuern?GrinskeksVor 1 TagFrageTK-Netze & Geräte7 Kommentare

Hallo zusammen, bei meinem neuen Arbeitgeber steht der Umzug in ein neues Firmengebäude und eine Aktualisierung der Telekommunikation an. Wir hatten einen Support zur betagten ...

question
Eigene Hardware + VLAN an Vodafone Kabel gelöst darkness08Vor 1 TagFrageInternet12 Kommentare

Guten Morgen Zusammen, ich möchte gerne an einen Vodafone Kabelanschluss eigene Hardware betreiben. Da es sich hierbei nicht um meinen eigenen Anschluss handelt fehlt mir ...