commit ca1067cafcffda86d0c1bc3236601ba35a8817bb Author: Tim-Schilling Date: Tue Dec 17 07:43:08 2024 +0100 Hochladen von batchconvert Skript Hochladen von Batchconvert Skript zur Umwandlung von alten DOC Dokumenten in neuere DOCX Dokumente. Selbiges für PPT und XLS. Benötigt wird Libreoffice für die Umwandlung. Signed-off-by: Tim-Schilling diff --git a/batchdocconv.sh b/batchdocconv.sh new file mode 100644 index 0000000..090fc63 --- /dev/null +++ b/batchdocconv.sh @@ -0,0 +1,100 @@ +#!/bin/bash + + +GREEN='\033[0;32m' +RED='\033[0;31m' +NOCOLOR='\033[0m' + + + +# Pfad zum Hauptordner (Dokumente) +HAUPT_ORDNER="$HOME/Dokumente" + +# Pfad zum Zielordner (PDF) +ZIEL_ORDNER="$HAUPT_ORDNER/PDF" + +# Zielordner erstellen, falls er nicht existiert +rm -frd "$ZIEL_ORDNER" +mkdir -p "$ZIEL_ORDNER" +mkdir -p "$ZIEL_ORDNER/Anhang" + + +# Alle .doc-Dateien im Hauptordner und Unterordner finden +find "$HAUPT_ORDNER" -type f \( -name "*.DOC" -o -name "*.doc" -o -name "*.docx" -o -name "*.DOCX" \) | while read -r DOC_FILE; do + # Relativen Pfad zur Datei finden + RELATIVER_PFAD="${DOC_FILE#$HAUPT_ORDNER/}" + + # Zielverzeichnis für die PDF-Datei bestimmen + ZIEL_VERZEICHNIS="$ZIEL_ORDNER/$(dirname "$RELATIVER_PFAD")" + + # Zielverzeichnis erstellen, falls es nicht existiert + mkdir -p "$ZIEL_VERZEICHNIS" + + echo -e "${NOCOLOR}Konvertiere $DOC_FILE...${NOCOLOR}" + + # Datei in das Zielverzeichnis als PDF konvertieren + if lowriter --headless --convert-to pdf --outdir "$ZIEL_VERZEICHNIS" "$DOC_FILE"; then + echo -e "${GREEN}Loesche Originaldatei $DOC_FILE...${NOCOLOR}" + rm "$DOC_FILE" + else + echo -e "${RED}Fehler: Konvertierung fehlgeschlagen fuer $DOC_FILE.${NOCOLOR}" + fi +done + + +echo " " +echo " " +echo -e "${GREEN}================>DOC umwandlung Abgeslossen beginne PPT<===================${NOCOLOR}" +echo " " +echo " " + +find "$HAUPT_ORDNER" -type f \( -name "*.ppt" -o -name "*.pptm" -o -name "*.pptx" -o -name "*.PPT" -o -name "*.PPTX" \) | while read -r PRES_FILE; do + # Relativen Pfad zur Datei finden + RELATIVER_PFAD="${PRES_FILE#$HAUPT_ORDNER/}" + + # Zielverzeichnis für die PDF-Datei bestimmen + ZIEL_VERZEICHNIS="$ZIEL_ORDNER/Anhang/$(dirname "$RELATIVER_PFAD")" + + + + echo -e "${NOCOLOR}Konvertiere $PRES_FILE...${NOCOLOR}" + + # Datei in das Zielverzeichnis als PDF konvertieren + if libreoffice --headless --convert-to pdf --outdir "$ZIEL_VERZEICHNIS/Anhang" "$PRES_FILE"; then + echo -e "${GREEN}Loesche Originaldatei $PRES_FILE...${NOCOLOR}" + rm "$PRES_FILE" + else + echo -e "${RED}Fehler: Konvertierung fehlgeschlagen fuer $PRES_FILE.${NOCOLOR}" + fi +done + + +echo " " +echo " " +echo -e "${GREEN}================>PPT umwandlung Abgeslossen beginne XLS<===================${NOCOLOR}" +echo " " +echo " " + +find "$HAUPT_ORDNER" -type f \( -name "*.XLS" -o -name "*.xls" -o -name "*.XLSX" -o -name "*.xlsx" \) | while read -r TAB_FILE; do + # Relativen Pfad zur Datei finden + RELATIVER_PFAD="${TAB_FILE#$HAUPT_ORDNER/}" + + # Zielverzeichnis für die PDF-Datei bestimmen + ZIEL_VERZEICHNIS="$ZIEL_ORDNER/Anhang/$(dirname "$RELATIVER_PFAD")" + + + + echo -e "${NOCOLOR}Konvertiere $TAB_FILE...${NOCOLOR}" + + # Datei in das Zielverzeichnis als PDF konvertieren + if libreoffice --headless --convert-to pdf --outdir "$ZIEL_VERZEICHNIS/Anhang" "$TAB_FILE"; then + echo -e "${GREEN}Loesche Originaldatei $TAB_FILE...${NOCOLOR}" + rm "$TAB_FILE" + else + echo -e "${RED}Fehler: Konvertierung fehlgeschlagen fuer $TAB_FILE.${NOCOLOR}" + fi +done + +echo -e "${GREEN}============================${NOCOLOR}" +echo -e "${GREEN}Konvertierung Abgeschlossen.${NOCOLOR}" +echo -e "${GREEN}============================${NOCOLOR}"