Files
KITL-Sonstiges/batchdocconv.sh
T
Tim-Schilling ca1067cafc 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 <tim-schilling@noreply.localhost>
2024-12-17 07:43:08 +01:00

101 lines
3.2 KiB
Bash

#!/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}"