ca1067cafc
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>
101 lines
3.2 KiB
Bash
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}"
|