From ca1067cafcffda86d0c1bc3236601ba35a8817bb Mon Sep 17 00:00:00 2001 From: Tim-Schilling Date: Tue, 17 Dec 2024 07:43:08 +0100 Subject: [PATCH] Hochladen von batchconvert Skript MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- batchdocconv.sh | 100 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 batchdocconv.sh 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}"