1. Startseite
  2. Nachrichten
  3. Herunterladen
    1. Thunderbird Release-Version
    2. Thunderbird 128 ESR
    3. Thunderbird 115 ESR
    4. Thunderbird Beta-Version
    5. Sprachpaket (Benutzeroberfläche)
    6. Wörterbücher (Rechtschreibprüfung)
  4. Hilfe & Lexikon
    1. Anleitungen zu Thunderbird
    2. Fragen & Antworten (FAQ) zu Thunderbird
    3. Hilfe zu dieser Webseite
  5. Forum
    1. Unerledigte Themen
    2. Letzte Beiträge
    3. Themen der letzten 24 Stunden
  • Deutsch
  • Anmelden
  • Registrieren
  • 
  • Suche
Dieses Thema
  1. Thunderbird Mail DE
  2. Forum
  3. Hilfe zu E-Mail und allgemeines Arbeiten
  4. Antivirus-Software / Firewalls / externe Spam-Filter

open source script zum malwareschutz durch umwandeln von anhängen in malwarefreie formate

    • Alle Betriebssysteme
  • thomas-neemann
  • 18. Oktober 2020 um 17:11
  • Geschlossen
  • Unerledigt
  • 1
  • 2
  • thomas-neemann
    Mitglied
    Beiträge
    17
    Mitglied seit
    18. Okt. 2020
    • 18. Oktober 2020 um 17:11
    • #1

    hallo

    bin neu hier im forum, arbeite aber schon über 15 jahre in meiner kundschaft mit thunderbird auf über hundert arbeitsplätzen.

    für das problem der anhänge in kombination mit antivirenprogrammen habe ich für eine empfehlung des bsi (anhänge in malware-freie formate umwandeln) ein open-source shellscript geschrieben, was inzwischen auch in win10 (linux subsystem) läuft. wenn interesse besteht könnte ich versuchen es hier hochzuladen.


    lg thomas

  • thomas-neemann 18. Oktober 2020 um 17:11

    Hat den Titel des Themas von „open source script zum walwareschutz durch umwandeln von anhängen in malwarefreie formate“ zu „open source script zum malwareschutz durch umwandeln von anhängen in malwarefreie formate“ geändert.
  • graba 18. Oktober 2020 um 17:15

    Hat das Thema freigeschaltet.
  • graba 18. Oktober 2020 um 17:19

    Hat das Thema aus dem Forum Gemischte Verschlüsselungs-Themen nach Antivirus-Software / Firewalls / externe Spam-Filter verschoben.
  • Thunder
    Administrator
    Reaktionen
    775
    Artikel
    274
    Beiträge
    7.272
    Einträge
    169
    Mitglied seit
    8. Jul. 2003
    Hilfreiche Antworten
    58
    • 18. Oktober 2020 um 18:23
    • #2

    Beschreibe doch einfach mal, was Dein Script macht. Gibt es den Sourcecode in einem öffentlichen Repository?

    Gruß
    Thunder ( Mein persönlicher Wunschzettel )

    Keine Hilfe per Konversation! - Danke für Euer Engagement und Eure Geduld!

  • thomas-neemann
    Mitglied
    Beiträge
    17
    Mitglied seit
    18. Okt. 2020
    • 18. Oktober 2020 um 18:38
    • #3

    die methode ist leicht nachzuvollziehen z.b. an einer jpg datei, die kann malware enthalten. eine bmp beinhaltet nur informationen über punkte und deren farbe. eine umwandlung von jpg in bmp und zurück in jgp erzeugt eine saubere datei.

    das scrpit kann alle gänigen formate, die in unternehmen benötigt werden.

    ich habe ein youtube video darüber erstellt:

    https://www.youtube.com/watch?v=brMKj6oRrFY

    lg thomas

  • Zitronella
    Mitglied
    Reaktionen
    80
    Beiträge
    175
    Mitglied seit
    17. Sep. 2020
    Hilfreiche Antworten
    3
    • 18. Oktober 2020 um 22:07
    • #4
    Zitat von Thunder

    Gibt es den Sourcecode in einem öffentlichen Repository?

    Das ist die interessante Frage, welche beantwortet werden sollte.

  • thomas-neemann
    Mitglied
    Beiträge
    17
    Mitglied seit
    18. Okt. 2020
    • 18. Oktober 2020 um 22:24
    • #5

    bei einem shellscript ist das shellscript der source-code. wenn gewünscht könnte ich ihn hier als antwort posten.

    lg thomas

  • Thunder
    Administrator
    Reaktionen
    775
    Artikel
    274
    Beiträge
    7.272
    Einträge
    169
    Mitglied seit
    8. Jul. 2003
    Hilfreiche Antworten
    58
    • 18. Oktober 2020 um 22:52
    • #6

    Du kannst es ruhig hier veröffentlichen. Ich würde mir aber wünschen, dass Du zur Funktion und zu den Grenzen der angebotenen Funktion etwas schreibst.

    Gruß
    Thunder ( Mein persönlicher Wunschzettel )

    Keine Hilfe per Konversation! - Danke für Euer Engagement und Eure Geduld!

  • thomas-neemann
    Mitglied
    Beiträge
    17
    Mitglied seit
    18. Okt. 2020
    • 19. Oktober 2020 um 07:05
    • #7

    die funktion beinhaltet daten-dateien, die im büroalltag vorkommen wie doc xls pdf jpg mp4 ppt usw und deren varianten. wenn dateien nicht waschbar sind wie z.b. exe bat usw wird normalerweise ein hinweis ausgegeben


    +++++++ bitte nicht ohne dazugehörige ordnerstruktur verwenden ++++++++ !!! siehe unten


    bekannte grenzen sind z.b. gepackte dateien in einem verzeichnisbaum der gepackt ist. macht keinen sinn, kommt aber ab und zu vor. sowas ist von hand vorher zu entpacken. bei 3d pdf oder pdf mit layern ist das ergebnis eingeschränkt. bei pdf mit microsoft copyright geschützten fonds ist der fond verändert, das ist aber nur ein optischer fehler. passwortgeschützte gepackte dateien müssen vorher entpackt werden, das ist aber auch bei antivirenprogrammen so, wird aber oft verschwiegen.

    Bash
    #!/bin/bash
    # open-source anhaenge-downloads schadware-reiniger 13-10-2020
    #
    # email ed.bew@nnameen_samoht bitte wenden
    
    rm -r $HOME/Schreibtisch/wama/sauber/*
    rm -r $HOME/Schreibtisch/wama/entzip/*
    rm -r $HOME/Schreibtisch/wama/zip/*
    
    cd $HOME/Schreibtisch/wama/in
    find . -name "*[äöüÄÖÜß]*" -exec rename
    's/ä/ae/g;s/ü/ue/g;s/ß/ss/g;s/Ä/Ae/g;s/Ü/Ue/g;s/Ö/Oe/g;s/ö/oe/g'
    {} \;
    find . -type f -exec rename 's/[^a-zA-Z0-9.\/]/_/g' {} \;
    find . -type f | while read i; do mv "$i" "`echo
    "$i" | tr "A-Z" "a-z"`"; done
    
    cp $HOME/Schreibtisch/wama/in/*.zip $HOME/Schreibtisch/wama/zip
    rm $HOME/Schreibtisch/wama/in/*.zip
    
    cd $HOME/Schreibtisch/wama/zip
    list200=$(echo *)
    if [ "$list200" = "*" ]
    then
    echo "zip-leer"
    else
    
    for file300 in *
    do
    
    echo $file300
    
    echo 00
    
    unzip $file300 -d $HOME/Schreibtisch/wama/entzip
    rm $file300
    
    echo 0
    
    done
    
    rm $HOME/Schreibtisch/wama/zip/*
    
    fi
    
    cp -r $HOME/Schreibtisch/wama/in/* $HOME/Schreibtisch/wama/entzip
    
    rm -r $HOME/Schreibtisch/wama/in/*
    
    cd $HOME/Schreibtisch/wama/entzip
    
    echo "$HOME/Schreibtisch/wama/entzip" >
    $HOME/Schreibtisch/wama/verzlist.txt
    find $HOME/Schreibtisch/wama/entzip/* -type d >>
    $HOME/Schreibtisch/wama/verzlist.txt
    
    echo 1
    
    while read LINE
    do
    chmod 777 $HOME/Schreibtisch/wama/sauber/*
    cd "$LINE"
    find . -type f "*[äöüÄÖÜß]*" -exec rename
    's/ä/ae/g;s/ü/ue/g;s/ß/ss/g;s/Ä/Ae/g;s/Ü/Ue/g;s/Ö/Oe/g;s/ö/oe/g'
    {} \;
    find . -type f -exec rename 's/[^a-zA-Z0-9.\/]/_/g' {} \;
    find . -type f | while read i; do mv "$i" "`echo
    "$i" | tr "A-Z" "a-z"`"; done
    
    cp * $HOME/Schreibtisch/wama/in
    rm *
    
    echo 2
    
    cd $HOME/Schreibtisch/wama/in
    find . -name "*[äöüÄÖÜß]*" -exec rename
    's/ä/ae/g;s/ü/ue/g;s/ß/ss/g;s/Ä/Ae/g;s/Ü/Ue/g;s/Ö/Oe/g;s/ö/oe/g'
    {} \;
    find . -exec rename 's/[^a-zA-Z0-9.\/]/_/g' {} \;
    find . -type f | while read i; do mv "$i" "`echo
    "$i" | tr "A-Z" "a-z"`"; done
    
    chmod 777 *
    
    cp $HOME/Schreibtisch/wama/in/*.rar $HOME/Schreibtisch/wama/rar
    rm $HOME/Schreibtisch/wama/in/*.rar
    
    cd $HOME/Schreibtisch/wama/rar
    list200=$(echo *)
    if [ "$list200" = "*" ]
    then
    echo "rar-leer"
    else
    
    for file300 in *.rar
    do
    unrar e $file300 $HOME/Schreibtisch/wama/in
    
    done
    
    rm $HOME/Schreibtisch/wama/rar/*
    
    fi
    
    cp $HOME/Schreibtisch/wama/in/*.zdb $HOME/Schreibtisch/wama/sauber
    rm $HOME/Schreibtisch/wama/in/*.zdb
    cp $HOME/Schreibtisch/wama/in/*.ZDB $HOME/Schreibtisch/wama/sauber
    rm $HOME/Schreibtisch/wama/in/*.ZDB
    cd $HOME/Schreibtisch/wama/in
    
    echo "nicht gesäuberte datei(en), eventuell gefährlich.
    liste kann unvollständig sein!" >
    $HOME/Schreibtisch/wama/mbox/info.txt
    
    list=$(echo *)
    if [ "$list" = "*" ]
    then
    echo "in-leer"
    else
    for file10 in *.pdf
    do
    tnef --overwrite "$file10"
    
    done
    
    fi
    
    cd $HOME/Schreibtisch/wama/in
    find . -name "*[äöüÄÖÜß]*" -exec rename
    's/ä/ae/g;s/ü/ue/g;s/ß/ss/g;s/Ä/Ae/g;s/Ü/Ue/g;s/Ö/Oe/g;s/ö/oe/g'
    {} \;
    find . -exec rename 's/[^a-zA-Z0-9.\/]/_/g' {} \;
    find . -type f | while read i; do mv "$i" "`echo
    "$i" | tr "A-Z" "a-z"`"; done
    
    cp $HOME/Schreibtisch/wama/in/*.pdf $HOME/Schreibtisch/wama/pdf
    rm $HOME/Schreibtisch/wama/in/*.pdf
    cp $HOME/Schreibtisch/wama/in/*.xls $HOME/Schreibtisch/wama/xls
    rm $HOME/Schreibtisch/wama/in/*.xls
    cp $HOME/Schreibtisch/wama/in/*.xlsm $HOME/Schreibtisch/wama/xlsm
    rm $HOME/Schreibtisch/wama/in/*.xlsm
    cp $HOME/Schreibtisch/wama/in/*.xlsx $HOME/Schreibtisch/wama/xlsx
    rm $HOME/Schreibtisch/wama/in/*.xlsx
    cp $HOME/Schreibtisch/wama/in/*.doc $HOME/Schreibtisch/wama/doc
    rm $HOME/Schreibtisch/wama/in/*.doc
    cp $HOME/Schreibtisch/wama/in/*.docm $HOME/Schreibtisch/wama/docm
    rm $HOME/Schreibtisch/wama/in/*.docm
    
    cp $HOME/Schreibtisch/wama/in/*.docx $HOME/Schreibtisch/wama/docx
    rm $HOME/Schreibtisch/wama/in/*.docx
    cp $HOME/Schreibtisch/wama/in/*.jpg $HOME/Schreibtisch/wama/jpg/
    rm $HOME/Schreibtisch/wama/in/*.jpg
    cp $HOME/Schreibtisch/wama/in/*.bmp $HOME/Schreibtisch/wama/bmp2
    rm $HOME/Schreibtisch/wama/in/*.bmp
    cp $HOME/Schreibtisch/wama/in/*.p83 $HOME/Schreibtisch/wama/txt
    rm $HOME/Schreibtisch/wama/in/*.p83
    cp $HOME/Schreibtisch/wama/in/*.p81 $HOME/Schreibtisch/wama/txt
    rm $HOME/Schreibtisch/wama/in/*.p81
    cp $HOME/Schreibtisch/wama/in/*.p84 $HOME/Schreibtisch/wama/txt
    rm $HOME/Schreibtisch/wama/in/*.p84
    cp $HOME/Schreibtisch/wama/in/*.p82 $HOME/Schreibtisch/wama/txt
    rm $HOME/Schreibtisch/wama/in/*.p82
    cp $HOME/Schreibtisch/wama/in/*.p85 $HOME/Schreibtisch/wama/txt
    rm $HOME/Schreibtisch/wama/in/*.p85
    cp $HOME/Schreibtisch/wama/in/*.p86 $HOME/Schreibtisch/wama/txt
    rm $HOME/Schreibtisch/wama/in/*.p86
    
    cp $HOME/Schreibtisch/wama/in/*.plt $HOME/Schreibtisch/wama/plt
    rm $HOME/Schreibtisch/wama/in/*.plt
    
    cp $HOME/Schreibtisch/wama/in/*.3gp $HOME/Schreibtisch/wama/3gp
    rm $HOME/Schreibtisch/wama/in/*.3gp
    
    cp $HOME/Schreibtisch/wama/in/*.rtf $HOME/Schreibtisch/wama/rtf
    rm $HOME/Schreibtisch/wama/in/*.rtf
    
    cp $HOME/Schreibtisch/wama/in/*.txt $HOME/Schreibtisch/wama/txt
    rm $HOME/Schreibtisch/wama/in/*.txt
    cp $HOME/Schreibtisch/wama/in/*.dxf $HOME/Schreibtisch/wama/dxf
    rm $HOME/Schreibtisch/wama/in/*.dxf
    cp $HOME/Schreibtisch/wama/in/*.dwg $HOME/Schreibtisch/wama/dwg
    rm $HOME/Schreibtisch/wama/in/*.dwg
    
    cp $HOME/Schreibtisch/wama/in/*.igs $HOME/Schreibtisch/wama/txt
    rm $HOME/Schreibtisch/wama/in/*.igs
    cp $HOME/Schreibtisch/wama/in/*.step $HOME/Schreibtisch/wama/txt
    rm $HOME/Schreibtisch/wama/in/*.step
    cp $HOME/Schreibtisch/wama/in/*.stp $HOME/Schreibtisch/wama/txt
    rm $HOME/Schreibtisch/wama/in/*.stp
    cp $HOME/Schreibtisch/wama/in/*.p21 $HOME/Schreibtisch/wama/txt
    rm $HOME/Schreibtisch/wama/in/*.p21
    cp $HOME/Schreibtisch/wama/in/*.odt $HOME/Schreibtisch/wama/odt
    rm $HOME/Schreibtisch/wama/in/*.odt
    cp $HOME/Schreibtisch/wama/in/*.ods $HOME/Schreibtisch/wama/ods
    rm $HOME/Schreibtisch/wama/in/*.ods
    cp $HOME/Schreibtisch/wama/in/*.ifc $HOME/Schreibtisch/wama/txt
    rm $HOME/Schreibtisch/wama/in/*.ifc
    cp $HOME/Schreibtisch/wama/in/*.png $HOME/Schreibtisch/wama/png
    rm $HOME/Schreibtisch/wama/in/*.png
    
    cp $HOME/Schreibtisch/wama/in/*.tif $HOME/Schreibtisch/wama/sauber
    rm $HOME/Schreibtisch/wama/in/*.tif
    
    cp $HOME/Schreibtisch/wama/in/*.gif $HOME/Schreibtisch/wama/gif
    rm $HOME/Schreibtisch/wama/in/*.gif
    
    cp $HOME/Schreibtisch/wama/in/*.ppt $HOME/Schreibtisch/wama/ppt
    rm $HOME/Schreibtisch/wama/in/*.ppt
    cp $HOME/Schreibtisch/wama/in/*.pptx $HOME/Schreibtisch/wama/pptx
    rm $HOME/Schreibtisch/wama/in/*.pptx
    cp $HOME/Schreibtisch/wama/in/*.mp4 $HOME/Schreibtisch/wama/mp4
    rm $HOME/Schreibtisch/wama/in/*.mp4
    cp $HOME/Schreibtisch/wama/in/*.avi $HOME/Schreibtisch/wama/avi
    rm $HOME/Schreibtisch/wama/in/*.avi
    cp $HOME/Schreibtisch/wama/in/*.jpeg $HOME/Schreibtisch/wama/jpeg
    rm $HOME/Schreibtisch/wama/in/*.jpeg
    
    cp $HOME/Schreibtisch/wama/in/*.wmv $HOME/Schreibtisch/wama/mp4
    rm $HOME/Schreibtisch/wama/in/*.wmv
    cp $HOME/Schreibtisch/wama/in/*.mpg $HOME/Schreibtisch/wama/mp4
    rm $HOME/Schreibtisch/wama/in/*.mpg
    cp $HOME/Schreibtisch/wama/in/*.heic $HOME/Schreibtisch/wama/jpg/
    rm $HOME/Schreibtisch/wama/in/*.heic
    cp $HOME/Schreibtisch/wama/in/*.pp $HOME/Schreibtisch/wama/txt
    rm $HOME/Schreibtisch/wama/in/*.pp
    cp $HOME/Schreibtisch/wama/in/*.mov $HOME/Schreibtisch/wama/mp4
    rm $HOME/Schreibtisch/wama/in/*.mov
    cp $HOME/Schreibtisch/wama/in/*.m4v $HOME/Schreibtisch/wama/mp4
    rm $HOME/Schreibtisch/wama/in/*.m4v
    cp $HOME/Schreibtisch/wama/in/*.wav $HOME/Schreibtisch/wama/mp4
    rm $HOME/Schreibtisch/wama/in/*.wav
    cp $HOME/Schreibtisch/wama/in/*.mpeg $HOME/Schreibtisch/wama/mp4
    rm $HOME/Schreibtisch/wama/in/*.mpeg
    cp $HOME/Schreibtisch/wama/in/*.mp3 $HOME/Schreibtisch/wama/mp4
    rm $HOME/Schreibtisch/wama/in/*.mp3
    
    cd $HOME/Schreibtisch/wama/avi
    list=$(echo *)
    if [ "$list" = "*" ]
    then
    echo "avi-leer"
    else
    for file10 in *
    do
    
    ffmpeg -i $file10 -vcodec mpeg4 -vtag XVID -b 990k -bf 2 -g 300 -s
    640x360 -acodec libmp3lame -ab 128k -ar 48000 -ac 2 -pass 2 -threads
    0 -f avi $HOME/Schreibtisch/wama/sauber/$file10.avi
    
    done
    rm $HOME/Schreibtisch/wama/avi/*
    fi
    
    cd $HOME/Schreibtisch/wama/mp4
    list=$(echo *)
    if [ "$list" = "*" ]
    then
    echo "mp4-leer"
    else
    for file10 in *
    do
    ffmpeg -i $file10 -target pal-dvd -aspect 16:9 -ac 2 $file10.mpg
    
    ffmpeg -i $file10.mpg $HOME/Schreibtisch/wama/sauber/$file10
    done
    rm $HOME/Schreibtisch/wama/mp4/*
    fi
    
    cd $HOME/Schreibtisch/wama/plt
    list2=$(echo *)
    if [ "$list2" = "*" ]
    then
    echo "plt-leer"
    else
    
    for file21 in *
    do
    
    sed -n '1,1p' $file21 > 1z
    sed -n '$p' $file21 > lz
    sed '$d' $file21 > ohnelz
    sed -n '2,$p' ohnelz > rest.txt
    unix2dos -n rest.txt $HOME/Schreibtisch/wama/txtconv/rest.txt
    dos2unix -n $HOME/Schreibtisch/wama/txtconv/rest.txt rest.txt
    cat rest.txt >> 1z
    cat lz >> 1z
    cp 1z $HOME/Schreibtisch/wama/sauber/$file21
    
    rm 1z
    rm ohnelz
    rm $HOME/Schreibtisch/wama/txtconv/rest.txt
    rm lz
    rm rest.txt
    done
    
    
    rm $HOME/Schreibtisch/wama/plt/*
    rm $HOME/Schreibtisch/wama/txtconv/*
    fi
    
    cd $HOME/Schreibtisch/wama/txt
    list2=$(echo *)
    if [ "$list2" = "*" ]
    then
    echo "txt-leer"
    else
    
    for file21 in *
    do
    
    unix2dos -n $file21 $HOME/Schreibtisch/wama/txtconv/$file21
    
    dos2unix -n $HOME/Schreibtisch/wama/txtconv/$file21
    $HOME/Schreibtisch/wama/sauber/$file21
    
    done
    
    rm $HOME/Schreibtisch/wama/txt/*
    rm $HOME/Schreibtisch/wama/txtconv/*
    fi
    
    cd $HOME/Schreibtisch/wama/bmp2
    list2=$(echo *)
    if [ "$list2" = "*" ]
    then
    echo "bmp2-leer"
    else
    
    for file20 in *
    do
    
    convert $HOME/Schreibtisch/wama/bmp2/$file20
    $HOME/Schreibtisch/wama/sauber/$file20
    
    done
    
    rm $HOME/Schreibtisch/wama/bmp2/*
    fi
    
    cd $HOME/Schreibtisch/wama/jpg
    list2=$(echo *)
    if [ "$list2" = "*" ]
    then
    echo "jpg-leer"
    else
    
    for file20 in *
    do
    
    convert $file20 $HOME/Schreibtisch/wama/bmp/$file20.bmp
    convert $HOME/Schreibtisch/wama/bmp/$file20.bmp
    $HOME/Schreibtisch/wama/sauber/$file20
    
    done
    
    rm $HOME/Schreibtisch/wama/bmp/*
    rm $HOME/Schreibtisch/wama/jpg/*
    fi
    
    cd $HOME/Schreibtisch/wama/jpeg
    list2=$(echo *)
    if [ "$list2" = "*" ]
    then
    echo "jpeg-leer"
    else
    
    for file20 in *.jpeg
    do
    
    convert $file20 $HOME/Schreibtisch/wama/bmp/$file20.bmp
    convert $HOME/Schreibtisch/wama/bmp/$file20.bmp
    $HOME/Schreibtisch/wama/sauber/$file20
    
    done
    
    rm $HOME/Schreibtisch/wama/bmp/*
    rm $HOME/Schreibtisch/wama/jpeg/*
    fi
    
    cd $HOME/Schreibtisch/wama/png
    list2=$(echo *)
    if [ "$list2" = "*" ]
    then
    echo "png-leer"
    else
    
    for file20 in *.png
    do
    
    convert $file20 $HOME/Schreibtisch/wama/bmp/$file20.bmp
    convert $HOME/Schreibtisch/wama/bmp/$file20.bmp
    $HOME/Schreibtisch/wama/sauber/$file20
    
    done
    
    rm $HOME/Schreibtisch/wama/bmp/*
    rm $HOME/Schreibtisch/wama/png/*
    fi
    
    cd $HOME/Schreibtisch/wama/tif
    list2=$(echo *)
    if [ "$list2" = "*" ]
    then
    echo "tif-leer"
    else
    
    for file20 in *.tif
    do
    
    convert $file20 $HOME/Schreibtisch/wama/bmp/$file20.bmp
    convert $HOME/Schreibtisch/wama/bmp/$file20.bmp
    $HOME/Schreibtisch/wama/sauber/$file20.tif
    
    done
    
    rm $HOME/Schreibtisch/wama/bmp/*
    rm $HOME/Schreibtisch/wama/tif/*
    fi
    
    cd $HOME/Schreibtisch/wama/gif
    list20=$(echo *)
    if [ "$list20" = "*" ]
    then
    echo "gif-leer"
    else
    
    for file30 in *.gif
    do
    
    convert $file30 $HOME/Schreibtisch/wama/bmp/$file30.bmp
    
    convert $HOME/Schreibtisch/wama/bmp/$file30.bmp
    $HOME/Schreibtisch/wama/sauber/$file30.gif
    
    done
    
    rm $HOME/Schreibtisch/wama/bmp/*
    rm $HOME/Schreibtisch/wama/gif/*
    fi
    
    cd $HOME/Schreibtisch/wama/pdf
    list=$(echo *)
    if [ "$list" = "*" ]
    then
    echo "pdf-leer"
    else
    
    for file14 in *.pdf
    do
    
    gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.6 -dNOPAUSE -dQUIET
    -dBATCH -sOutputFile=$HOME/Schreibtisch/wama/sauber/$file14 $file14
    
    done
    rm $HOME/Schreibtisch/wama/pdf/*
    fi
    
    cd $HOME/Schreibtisch/wama/odt
    list=$(echo *)
    if [ "$list" = "*" ]
    then
    echo "odt-leer"
    else
    for file10 in *.odt
    do
    libreoffice --writer --convert-to docx $file10 --outdir
    $HOME/Schreibtisch/wama/sauber --headless
    
    done
    rm $HOME/Schreibtisch/wama/odt/*
    fi
    
    cd $HOME/Schreibtisch/wama/ppt
    list=$(echo *)
    if [ "$list" = "*" ]
    then
    echo "ppt-leer"
    else
    for file100 in *.ppt
    do
    libreoffice --impress --convert-to pdf $file100 --outdir
    $HOME/Schreibtisch/wama/sauber --headless
    
    done
    rm $HOME/Schreibtisch/wama/ppt/*
    fi
    
    cd $HOME/Schreibtisch/wama/pptx
    list=$(echo *)
    if [ "$list" = "*" ]
    then
    echo "pptx-leer"
    else
    for file101 in *.pptx
    do
    libreoffice --impress --convert-to pdf $file101 --outdir
    $HOME/Schreibtisch/wama/sauber --headless
    
    done
    rm $HOME/Schreibtisch/wama/pptx/*
    fi
    
    cd $HOME/Schreibtisch/wama/ods
    list=$(echo *)
    if [ "$list" = "*" ]
    then
    echo "ods-leer"
    else
    for file11 in *.ods
    do
    libreoffice --calc --convert-to xlsx $file11 --outdir
    $HOME/Schreibtisch/wama/sauber --headless
    
    done
    rm $HOME/Schreibtisch/wama/ods/*
    fi
    
    cd $HOME/Schreibtisch/wama/xls
    list=$(echo *)
    if [ "$list" = "*" ]
    then
    echo "xls-leer"
    else
    for file5 in *.xls
    do
    libreoffice --calc --convert-to xlsx $file5 --outdir
    $HOME/Schreibtisch/wama/xlsx-2 --headless
    
    done
    rm $HOME/Schreibtisch/wama/xls/*
    fi
    
    cd $HOME/Schreibtisch/wama/xlsm
    list=$(echo *)
    if [ "$list" = "*" ]
    then
    echo "xlsm-leer"
    else
    for file3 in *.xlsm
    do
    libreoffice --calc --convert-to xlsx $file3 --outdir
    $HOME/Schreibtisch/wama/xlsx-2 --headless
    
    done
    rm $HOME/Schreibtisch/wama/xlsm/*
    fi
    
    cd $HOME/Schreibtisch/wama/xlsx
    list=$(echo *)
    if [ "$list" = "*" ]
    then
    echo "xlsx-leer"
    else
    for file4 in *.xlsx
    do
    libreoffice --calc --convert-to xlsx $file4 --outdir
    $HOME/Schreibtisch/wama/xlsx-2 --headless
    done
    rm $HOME/Schreibtisch/wama/xlsx/*
    fi
    
    cd $HOME/Schreibtisch/wama/xlsx-2
    list=$(echo *)
    if [ "$list" = "*" ]
    then
    echo "xlsx-leer"
    else
    for file13 in *
    do
    libreoffice --calc --convert-to xls $file13 --outdir
    $HOME/Schreibtisch/wama/sauber --headless
    
    done
    rm $HOME/Schreibtisch/wama/xlsx-2/*
    fi
    
    cd $HOME/Schreibtisch/wama/docm
    list=$(echo *)
    if [ "$list" = "*" ]
    then
    echo "docm-leer"
    else
    for file6 in *.docm
    do
    libreoffice --writer --convert-to docx $file6 --outdir
    $HOME/Schreibtisch/wama/docx-2 --headless
    
    done
    rm $HOME/Schreibtisch/wama/docm/*
    fi
    
    cd $HOME/Schreibtisch/wama/doc
    list=$(echo *)
    if [ "$list" = "*" ]
    then
    echo "doc-leer"
    else
    for file8 in *.doc
    do
    libreoffice --writer --convert-to docx $file8 --outdir
    $HOME/Schreibtisch/wama/docx-2 --headless
    
    done
    rm $HOME/Schreibtisch/wama/doc/*
    fi
    
    cd $HOME/Schreibtisch/wama/docx
    list=$(echo *)
    if [ "$list" = "*" ]
    then
    echo "docx-leer"
    else
    for file7 in *.docx
    do
    libreoffice --writer --convert-to docx $file7 --outdir
    $HOME/Schreibtisch/wama/docx-2 --headless
    done
    rm $HOME/Schreibtisch/wama/docx/*
    fi
    
    cd $HOME/Schreibtisch/wama/docx-2
    list=$(echo *)
    if [ "$list" = "*" ]
    then
    echo "docx-2-leer"
    else
    for file12 in *
    do
    libreoffice --writer --convert-to doc $file12 --outdir
    $HOME/Schreibtisch/wama/sauber --headless
    
    done
    rm $HOME/Schreibtisch/wama/docx-2/*
    fi
    
    cd $HOME/Schreibtisch/wama/in
    list=$(echo *)
    if [ "$list" = "*" ]
    then
    echo "in-leer"
    else
    ls >> $HOME/Schreibtisch/wama/mbox/info.txt
    
    rm $HOME/Schreibtisch/wama/in/*
    fi
    
    cd $HOME/Schreibtisch/wama/dwg
    
    for file14 in *
    
    do
    
    head -n 1 $file14|cut -c 1-2 > /tmp/erg
    echo "AC" > /tmp/ref
    cmp /tmp/erg /tmp/ref > /tmp/pre
    
    if test -s /tmp/pre
    then
    ls >> $HOME/Schreibtisch/wama/mbox/info.txt
    else
    
    cp $file14 $HOME/Schreibtisch/wama/sauber
    
    fi
    
    rm whis
    rm erg
    rm pre
    rm ref
    
    done
    rm $HOME/Schreibtisch/wama/dwg/*
    rm whis
    rm erg
    rm pre
    rm ref
    
    cd $HOME/Schreibtisch/wama/dxf
    
    for file111 in *
    
    do
    
    tail --lines=1 $file111 > /tmp/erg2
    
    head -n 1 /tmp/erg2|cut -c 1-2 > /tmp/erg3
    echo "EO" > /tmp/ref3
    
    cmp /tmp/erg3 /tmp/ref3 > /tmp/pre2
    
    if test -s /tmp/pre2
    then
    ls >> $HOME/Schreibtisch/wama/mbox/info.txt
    else
    
    cp $file111 $HOME/Schreibtisch/wama/sauber
    
    fi
    
    rm whis
    rm erg2
    rm pre2
    rm ref2
    
    done
    
    rm $HOME/Schreibtisch/wama/dxf/*
    
    cd $HOME/Schreibtisch/wama/3gp
    list=$(echo *)
    if [ "$list" = "*" ]
    then
    echo "3gp-leer"
    else
    for file77 in *.3gp
    do
    ffmpeg -i $file77 -target pal-dvd -aspect 16:9 -ac 2 $file77.mp4
    
    cp $file77.mp4 $HOME/Schreibtisch/wama/sauber
    
    done
    rm $HOME/Schreibtisch/wama/3gp/*
    fi
    
    cd $HOME/Schreibtisch/wama/rtf
    list=$(echo *)
    if [ "$list" = "*" ]
    then
    echo "rtf-leer"
    else
    for file6 in *.rtf
    do
    libreoffice --writer --convert-to docx $file6 --outdir
    $HOME/Schreibtisch/wama/sauber --headless
    
    done
    rm $HOME/Schreibtisch/wama/rtf/*
    fi
    
    rm $HOME/Schreibtisch/wama/in/*
    cd "$LINE"
    cp -R $HOME/Schreibtisch/wama/sauber/* .
    ls
    pwd
    
    chmod 777 $HOME/Schreibtisch/wama/sauber/*
    
    rm -R -f $HOME/Schreibtisch/wama/sauber/*
    chmod 777 $HOME/Schreibtisch/wama/sauber
    done < $HOME/Schreibtisch/wama/verzlist.txt
    
    cd $HOME/Schreibtisch/wama/entzip
    cp -R * $HOME/Schreibtisch/wama/sauber
    pwd
    
    rm -R $HOME/Schreibtisch/wama/entzip/*
    
    cp -r $HOME/Schreibtisch/wama/mbox/*
    $HOME/Schreibtisch/wama/sauber
    cd /wama
    cd mbox
    rm -r $HOME/Schreibtisch/wama/mbox/*
    
    chmod -R 777 $HOME/Schreibtisch/wama/sauber
    Alles anzeigen

    3 Mal editiert, zuletzt von thomas-neemann (19. Oktober 2020 um 22:02) aus folgendem Grund: Code-Tags gesetzt

  • Susi to visit
    Senior-Mitglied
    Reaktionen
    501
    Beiträge
    2.827
    Mitglied seit
    19. Sep. 2020
    Hilfreiche Antworten
    29
    • 19. Oktober 2020 um 19:39
    • #8

    Hallo Thomas,

    ich finde die Idee durchaus charmant. Der Quelltext ist so unformatiert schon aufgrund der vielen Leerzeile und die dadurch verursachte Länge allerdings nicht einfach zu lesen.

    Ich bin mal so frei und mache ein paar Anmerkungen, obwohl ich das Script nur überflogen habe.

    Das Script benötigt eine Verzeichnisstruktur auf dem Schreibstisch, z.B. wama/in oder wama/zip. Aus dem Script heraussuchen, welche Unterordner du genau brauchst ist etwas mühsam. Besser wäre es, das Script würde sie anlegen.

    Dann ist mir aufgefallen, dass du den Order "in" sozusagen gnadenlos leerst. Ich vermute, das führt bei einem Fehler (zum Beispiel während der Konvertierung durch LibreOffice) dazu, dass die originale Datei gelöscht wird obwohl es dann keine Kopie in "sauber" gibt. Die Datei wäre dann weg. Man hat sie zwar noch als Anhang der Mail, aber das könnte für Verwirrung sorgen.

    Ich bin auch nicht sicher, wie das Script sich verhält, wenn es nicht aus dem Terminal im Verzeichnis Schreibtisch gestartet wird sondern per Doppelklick oder wenn man es aus einem anderen Verzeichnis heraus aufruft. Ich sehe Befehle wie rm * und befürchte, dass die dazu führen können, dass der Schreibtisch aufgeräumt wird.

    Interessant wären noch ein Hinweise aus der Erfahrung in Bezug auf die Qualität der Konvertierungen. Speziell bei LibreOffice ist ja bekannt, dass komplexere Dokumente nicht immer gut konvertiert werden.

    Gruß

    Susanne

    Wer wenig oder gar nichts kann, schiebt's auf den Antiviruskram.

    (Compuzius, Buch 5)

  • thomas-neemann
    Mitglied
    Beiträge
    17
    Mitglied seit
    18. Okt. 2020
    • 19. Oktober 2020 um 19:50
    • #9

    danke für die infos. mehr benutzerfeundlichkeit ist sinnvoll. das löschen des in ordners ist notwendig bei einem ganzen verzeichnisbaum, der in einer schleife gewaschen wird.

    auf über 70 arebitsplätzen in ca 2 jahren gab es bislang keine probleme bei libre-office konvertierungen. alle foren-mitglieder die möchten, können gerne das script verbessern, es ist open source.

    lg thomas

  • Thunder
    Administrator
    Reaktionen
    775
    Artikel
    274
    Beiträge
    7.272
    Einträge
    169
    Mitglied seit
    8. Jul. 2003
    Hilfreiche Antworten
    58
    • 19. Oktober 2020 um 20:02
    • #10

    Ich überblicke die Scripte gerade auch nicht komplett. Es macht Sinn in solchen Scripten, dass man zentral am Anfang ein paar Variablen von den Benutzern definieren lassen kann (Pfade etc), damit die Benutzer nicht mitten in den Scripten wiederholt Dinge bearbeiten müssen. Den Bereich der bearbeitet werden kann bzw. bearbeitet werden muss, kann man kenntlich machen und danch einen Hinweis bringen, dass die Leute ab da die Finger weg lassen sollen.

    Gruß
    Thunder ( Mein persönlicher Wunschzettel )

    Keine Hilfe per Konversation! - Danke für Euer Engagement und Eure Geduld!

  • thomas-neemann
    Mitglied
    Beiträge
    17
    Mitglied seit
    18. Okt. 2020
    • 19. Oktober 2020 um 20:08
    • #11

    es ist alles offen, alles kann modifiziert werden

    lg thomas

  • Susi to visit
    Senior-Mitglied
    Reaktionen
    501
    Beiträge
    2.827
    Mitglied seit
    19. Sep. 2020
    Hilfreiche Antworten
    29
    • 19. Oktober 2020 um 20:39
    • #12

    So, gerade in einer VM mit Ubuntu 18.04 ausprobiert. Startet man das Script aus dem Terminal im Pfad ~/Schreibtisch, dann schmeißt es ohne vorhandene Ordnerstruktur nur die entsprechenden Fehler. Damit kann man leben.

    Führt man es aber per Doppelklick aus, dann wird der Schreibtisch, wie befürchtet, leergeputzt. Ich vermute, dass aus dem selben Grund, wenn man direkt aus ~/ startet, das gesamte Home-Verzeichnis den Bach runter geht. Das habe ich aber nicht mehr getestet.

    Zitat von thomas-neemann

    es ist alles offen, alles kann modifiziert werden

    Wie geschrieben, die Idee gefällt mir. Aber hier machst du es dir Meinung nach zu einfach. Ein Script, dass ungewollt Dateien löscht, gehört so nicht veröffentlicht.

    Wenn jemand einfach dieses Script nimmt, auf dem Desktop speichert und ohne weitere Maßnahmen ausführt, ist sein Desktop hinterher leer! Das ist schon heftig.

    Bedenke auch, dass hier einige Leute unterwegs sind, die blind irgendwelche Scripte für den Firefox und den Thunderbird übernehmen. Zum Glück ist deines nicht nativ unter Windows lauffähig. Sonst hätte es vielleicht schon jemanden erwischt.

    Ich bin auch der Meinung, du hättest sowohl hier als auch in deinem Video darauf hinweisen sollen, dass die Ordnerstruktur zunächst angelegt werden muss und dass man sich im richtigen Arbeitsverzeichnis befinden muss.

    Mein Fazit: Gute Idee, gut gemeint, aber leider noch längst nicht fertig.

    Wer wenig oder gar nichts kann, schiebt's auf den Antiviruskram.

    (Compuzius, Buch 5)

  • thomas-neemann
    Mitglied
    Beiträge
    17
    Mitglied seit
    18. Okt. 2020
    • 19. Oktober 2020 um 20:48
    • #13

    sorry aber das hochladen des scripts war nicht so gemeint, daß es direkt verwendet wird. das bedarf 1. der ordnerstruktur, die ich als zip hochladen könnte, wenn mir jemand sagt, wie das hier im forum machbar ist und es bedarf der installation von zusatztools. für ubuntu/mint habe ich ein script dafür geschrieben, was ich auch hochladen könnte.

    lg thomas

    Einmal editiert, zuletzt von thomas-neemann (19. Oktober 2020 um 21:21)

  • Thunder
    Administrator
    Reaktionen
    775
    Artikel
    274
    Beiträge
    7.272
    Einträge
    169
    Mitglied seit
    8. Jul. 2003
    Hilfreiche Antworten
    58
    • 19. Oktober 2020 um 21:19
    • #14

    Du könntest mir das Zip-Archiv per E-Mail senden. Ich könnte es hier dann online stellen.

    Gruß
    Thunder ( Mein persönlicher Wunschzettel )

    Keine Hilfe per Konversation! - Danke für Euer Engagement und Eure Geduld!

  • thomas-neemann
    Mitglied
    Beiträge
    17
    Mitglied seit
    18. Okt. 2020
    • 19. Oktober 2020 um 21:36
    • #15

    habe es an die adresse aus dem impressum gesendet, ich vermute die ist gemeint.

    hier die zusatzinstallation:

    Bash
    #!/bin/bash
    
    
    add-apt-repository ppa:mc3man/trusty-media
    apt-get update
    
    
    apt-get install ffmpeg
    apt-get install dvdauthor
    apt install rename
    apt install unrar
    apt install tnef
    
    
    apt install dos2unix
    apt-get install imagemagick
    Alles anzeigen

    lg thomas

    Einmal editiert, zuletzt von thomas-neemann (21. Oktober 2020 um 15:03)

  • Susi to visit
    Senior-Mitglied
    Reaktionen
    501
    Beiträge
    2.827
    Mitglied seit
    19. Sep. 2020
    Hilfreiche Antworten
    29
    • 19. Oktober 2020 um 21:39
    • #16
    Zitat von thomas-neemann

    sorry aber das hochladen des scripts war nicht so gemeint, daß es direkt verwendet wird. das bedarf 1. der ordnerstruktur

    Verstehe ich, aber wie geschrieben, ein Hinweis darauf wäre gut gewesen. Vor allem wegen der möglichen Auswirkungen.

    Um nicht nur zu meckern, noch etwas Konstruktives. Falls du vorhast, dein Script weiterentwickeln. Zum Thema Ordnerstruktur sind wir uns wohl einig. Die sollten angelegt werden.

    Zitat von thomas-neemann

    wenn dateien nicht waschbar sind wie z.b. exe bat usw wird normalerweise ein hinweis ausgegeben

    Eine ganz einfache Möglichkeit zum besseren Schutz, wäre es, die Dateien nicht mehr ausführbar zu machen, zum Beispiel durch das Anfügen eines weiteren Suffix.

    Zitat von thomas-neemann

    bekannte grenzen sind z.b. gepackte dateien in einem verzeichnisbaum der gepackt ist.

    Die Bash in Linux kann auch rekursive Funktionen. Damit könntest du dieses Problem lösen.

    Wer wenig oder gar nichts kann, schiebt's auf den Antiviruskram.

    (Compuzius, Buch 5)

  • thomas-neemann
    Mitglied
    Beiträge
    17
    Mitglied seit
    18. Okt. 2020
    • 19. Oktober 2020 um 21:52
    • #17

    kann alles gerne gemacht werden. wie gesagt es ist so wie es ist sehr erfolgreich seit ca 2 jahren im wirklich harten einsatz, einige anwender, die es umständlich finden haben alles gegeben um argumente gegen dieses programm zu finden.


    lg thomas

  • thomas-neemann
    Mitglied
    Beiträge
    17
    Mitglied seit
    18. Okt. 2020
    • 19. Oktober 2020 um 22:03
    • #18

    habe oben eine warnung eingefügt

    lg thomas

  • Susi to visit
    Senior-Mitglied
    Reaktionen
    501
    Beiträge
    2.827
    Mitglied seit
    19. Sep. 2020
    Hilfreiche Antworten
    29
    • 19. Oktober 2020 um 22:04
    • #19
    Zitat von thomas-neemann

    kann alles gerne gemacht werden.

    Das ist legitim. Ich interpretiere es jetzt mal so, dass du selbst kein Interesse hast.

    Zitat von thomas-neemann

    einige anwender, die es umständlich finden haben alles gegeben um argumente gegen dieses programm zu finden.

    Die hatten vermutlich auch nicht nur das Script sondern auch eine Anleitung dazu und haben sich nicht den Schreibtisch oder gar das ganze home gelöscht.

    Wer wenig oder gar nichts kann, schiebt's auf den Antiviruskram.

    (Compuzius, Buch 5)

  • thomas-neemann
    Mitglied
    Beiträge
    17
    Mitglied seit
    18. Okt. 2020
    • 19. Oktober 2020 um 22:10
    • #20

    ich habe es eingerichtet und auch eine einweisung gegeben. es gibt bei open source den weg über selber machen zum 0 tarif oder wie bei suse und redhat mit support. hier ist das auch so.


    lg thomas

    • 1
    • 2

Aktuelle Programmversion

  • Thunderbird 138.0.1 veröffentlicht

    Thunder 13. Mai 2025 um 23:25

Aktuelle ESR-Version

  • Thunderbird 128.10.1 ESR veröffentlicht

    Thunder 14. Mai 2025 um 21:50

Keine Werbung

Hier wird auf Werbeanzeigen verzichtet. Vielleicht geben Sie dem Website-Betreiber (Alexander Ihrig - aka "Thunder") stattdessen etwas aus, um diese Seiten auf Dauer finanzieren zu können. Vielen Dank!

Vielen Dank für die Unterstützung!

Kaffee ausgeben für:

3,00 €
1
Per Paypal unterstützen*

*Weiterleitung zu PayPal.Me

Thunderbird Mail DE
  1. Impressum & Kontakt
  2. Datenschutzerklärung
    1. Einsatz von Cookies
  3. Nutzungsbedingungen
  4. Spendenaufruf für Thunderbird
Hilfe zu dieser Webseite
  • Übersicht der Hilfe zur Webseite
  • Die Suchfunktion benutzen
  • Foren-Benutzerkonto - Erstellen (Neu registrieren)
  • Foren-Thema erstellen und bearbeiten
  • Passwort vergessen - neues Passwort festlegen
Copyright © 2003-2025 Thunderbird Mail DE

Sie befinden sich NICHT auf einer offiziellen Seite der Mozilla Foundation. Mozilla®, mozilla.org®, Firefox®, Thunderbird™, Bugzilla™, Sunbird®, XUL™ und das Thunderbird-Logo sind (neben anderen) eingetragene Markenzeichen der Mozilla Foundation.

Community-Software: WoltLab Suite™
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Forum
  • Lexikon
  • Artikel
  • Seiten
  • Erweiterte Suche
  • Deutsch
  • English
Zitat speichern