Die guten alten Batch(DOS) Befehle :-)

  • Zitat

    Original geschrieben von Anja Terchova
    Was fuer ein Teil ist den tail. Habe ich noch nie gehoert.


    man tail sagt:


    ~~~ root ~~~

  • Hi,


    Zitat

    Original geschrieben von root
    man tail sagt:

    Code
    NAME
    tail - Den letzten Teil einer Datei ausgeben
    ....


    ~~~ root ~~~


    Iiiiih! Deutsch :))


    SCNR
    XlF

  • Zitat

    Original geschrieben von XlF42
    Hi,


    Iiiiih! Deutsch :))


    SCNR
    XlF


    *hust* hab ich nur auf deutsch gepostet für die User die nicht so gut englisch können *ausredesuch* ;)


    Hier nun auf englisch *g*


    ~~~ root ~~~

  • Hi!

    Zitat

    das schreit nach tail - das gibts allerdings leider nicht serienmässig unter windows ;)

    Eine Möglichkeit wäre hier das Cygwin-Projekt (http://www.cygwin.com/).


    Wenn das auf einem Windowssystem installiert wird, sind sehr viele (unter anderem auch tail) aus UNIX/Linux bekannte Befehle auch unter Windows verfügbar.


    So läuft z.b. auch der gcc in der Cygwin-Umgebung.


    Gruss,
    Alexander

  • Zitat

    Original geschrieben von root
    *hust* hab ich nur auf deutsch gepostet für die User die nicht so gut englisch können *ausredesuch* ;)

    Ich haete beides verstanden, das tail versteh ich sowiso nicht. Ich geb das auf.

  • die Lösung???


    moins!


    Mit Bordmitteln (Windows2000) müsste es eigentlich schon gehen...


    Hier ein Batchfile: (Iiiiiih, Deutsch ;-)


    anpassen musst Du lediglich die ersten vier Zeilen des Files.


    set zeilen=30 -> Anzahl Zeilen die abgeschnitten werden
    set Loggroesse=65536 -> Maximale anzahl Bytes Deines Logfiles
    set Logfilepath=c:\winnt\Log\ -> Pfad zu Deinem Logfile, Du brauchst Schreibrechte in diesem Verzeichnis (der letzte Backslash ist zwingend)
    set Logfilename=test.txt -> Der Name Deines Logfiles


    Achtung. Bevor Du ausprobierst musst Du Dein Original Logfile sichern, ich übernehme keine Garantie für gelöschte Files ;-)


    REM ------------START------------
    set zeilen=30
    set Loggroesse=65536
    set Logfilepath=c:\winnt\log\
    set Logfilename=test.txt


    set Logfile=%logfilepath%%Logfilename%
    set Logsize=NUL
    dir /-C %logfile%|find /i "%Logfilename%" > %logfilepath%filesize.txt
    FOR /F "tokens=3* delims= " %%j IN (%logfilepath%filesize.txt) DO (if %%j GTR %Loggroesse% set Logsize=groesser)
    del %logfilepath%filesize.txt
    if %Logsize%==groesser goto groesser
    goto end
    :groesser
    more +%zeilen% %logfile% > %logfile%_tmp
    del %logfile%
    ren %logfile%_tmp %logfilename%
    set Logsize=NUL
    :end
    REM ------------ENDE------------




    Erklärung:
    die Filegrösse wird mittels DIR Befehl ermittelt. Ist sie grösser als in %loggroesse% definiert, wird das ganze Logfile minus %zeilen% in ein neues File geschrieben. Da ich nicht weiss wie lange Deine Zeilen sind, musst Du am Anfang selbst ausprobieren, wie Du auf die gewünschte Grösse kommst.


    Hope this helps (YEAH, Englisch)
    Kermit

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!