ich bin gerade dabei eine Batch Datei zu erstellen, die folgendes tun soll:
Auf dem PC liegen Logfiles, welche nach dem Muster XXXXXX.yyyy-mm-dd.log bezeichnet sind - Diese unterscheiden sich lediglich durch die Angabe yyy-mm-dd. Ich möchte immer den vorletzten Monat komplett löschen. Hier ein Auszug aus meinem Сценарий:
...
set /A delmonat = %monat%
set /A deljahr = %jahr%
for /f "delims=" %%a in ('dir /b /A-D ^| findstr /r "^XXXXXX.....-..-.." 2^>nul') DO (
if "%%a:~0,-6" EQU "XXXXXX.%deljahr%-%delmonat%" (del /q "%%a")
)
Er soll die ювелирные изделия ausgelesene Datei durch die Anweisung "%% a: ~ 0, -6" von rechts um sechs Stellen kürzen und danach mit dem String "XXXXXX.% Deljahr% -% delmonat%" vergleichen.
Aber er versteht die Anweisung "%% a: ~ 0, -6" irgendwie nicht. Er vergleicht монахиня "XXXXXX.yyyy-mm-dd.log: ~ 0, -6" mit "XXXXXX.% Deljahr% -% delmonat%".
Wie erreicheich ich es, dass in if-Bedingung gleich der String abgeschnitten wird und mit der der rechten Seite anschließend verglichen wird?
Vielen Dank für eure Hilfe.