Verbessern von Logging bei batchdocconv
Durch hinzufügen von debug, log und error funktionen wurde die ausgabe besser steuerbar gestalltet
This commit is contained in:
@@ -6,4 +6,4 @@ Dies soll ein Sammelrepo sein in dem alle kleineren Skripte zusammengetragen wer
|
|||||||
- Batchconvert.sh:
|
- Batchconvert.sh:
|
||||||
- Ein Skript welches unter Linux verwendet werden kann um mehrere Dokumente im DOC Format in eine PDF umzuwandeln.
|
- Ein Skript welches unter Linux verwendet werden kann um mehrere Dokumente im DOC Format in eine PDF umzuwandeln.
|
||||||
- sandbox.bat:
|
- sandbox.bat:
|
||||||
- Ein Skript welches die Windows Sandbox force neuzustarten
|
- Ein Skript welches die Windows Sandbox force Neuzustarten
|
||||||
+57
-30
@@ -1,10 +1,13 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
GREEN='\033[0;32m'
|
|
||||||
RED='\033[0;31m'
|
|
||||||
NOCOLOR='\033[0m'
|
|
||||||
|
|
||||||
|
# Hinweise zur verwendung des Skripts:
|
||||||
|
# - Vor dem ersten laufen lassen des Skripts sollte sichergestellt werden dass der Hauptordner Richtig gewählt ist, und dass dort nur die Datein Abgelegt werden welche umgewandelt werden sollen.
|
||||||
|
# - Das Skript sollte dann automatosch inerhalb des Haupt Ordners einen Unterordner als Zielordner erstellen um dort die PDFs Abzulegen.
|
||||||
|
# - Bei Ausführen des Skripts wird der Zielordner immer vor beginn der Umwandlungen gereinigt, sodass keine Dateikonflikte enstehen.
|
||||||
|
# - Die Originaldatein werden nachdem diese in PDFs umgewandelt wurden GELÖSCHT, es sollten also keine einzeloriginale umgewandelt werden sondern nur Kopien
|
||||||
|
# - Es können weitere Dateitypen zur umwandlung in der jeweiligen find funktion wie bereits vorhandne hinzugefügt werden.
|
||||||
|
|
||||||
|
|
||||||
# Pfad zum Hauptordner (Dokumente)
|
# Pfad zum Hauptordner (Dokumente)
|
||||||
@@ -13,6 +16,35 @@ HAUPT_ORDNER="$HOME/Dokumente"
|
|||||||
# Pfad zum Zielordner (PDF)
|
# Pfad zum Zielordner (PDF)
|
||||||
ZIEL_ORDNER="$HAUPT_ORDNER/PDF"
|
ZIEL_ORDNER="$HAUPT_ORDNER/PDF"
|
||||||
|
|
||||||
|
LOGLEVL=$1
|
||||||
|
|
||||||
|
# Festlegen der Farben für Ausgabe
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
RED='\033[0;31m'
|
||||||
|
CYAN='\033[0;36m'
|
||||||
|
NC='\033[0m'
|
||||||
|
|
||||||
|
|
||||||
|
# Funktion zur ausgabe von Debug Meldungen
|
||||||
|
function debug(){
|
||||||
|
if [ "$LOGLEVEL" = "debug" ]; then
|
||||||
|
echo -e "${CYAN}[DEBUG] $1${NC}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Funktion zur Ausgabe von log Meldungen
|
||||||
|
function log() {
|
||||||
|
if [ "$LOGLEVEL" != "error" ]; then
|
||||||
|
echo -e "${GREEN}[INFO] $1${NC}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Funktion zur Ausgabe von error Meldungen
|
||||||
|
function error() {
|
||||||
|
echo -e "${RED}[ERROR] $1${NC}"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# Zielordner erstellen, falls er nicht existiert
|
# Zielordner erstellen, falls er nicht existiert
|
||||||
rm -frd "$ZIEL_ORDNER"
|
rm -frd "$ZIEL_ORDNER"
|
||||||
mkdir -p "$ZIEL_ORDNER"
|
mkdir -p "$ZIEL_ORDNER"
|
||||||
@@ -24,77 +56,72 @@ find "$HAUPT_ORDNER" -type f \( -name "*.DOC" -o -name "*.doc" -o -name "*.docx"
|
|||||||
# Relativen Pfad zur Datei finden
|
# Relativen Pfad zur Datei finden
|
||||||
RELATIVER_PFAD="${DOC_FILE#$HAUPT_ORDNER/}"
|
RELATIVER_PFAD="${DOC_FILE#$HAUPT_ORDNER/}"
|
||||||
|
|
||||||
# Zielverzeichnis für die PDF-Datei bestimmen
|
# Zielverzeichnis für die PDF-Datei bestimmen
|
||||||
ZIEL_VERZEICHNIS="$ZIEL_ORDNER/$(dirname "$RELATIVER_PFAD")"
|
ZIEL_VERZEICHNIS="$ZIEL_ORDNER/$(dirname "$RELATIVER_PFAD")"
|
||||||
|
|
||||||
# Zielverzeichnis erstellen, falls es nicht existiert
|
# Zielverzeichnis erstellen, falls es nicht existiert
|
||||||
mkdir -p "$ZIEL_VERZEICHNIS"
|
mkdir -p "$ZIEL_VERZEICHNIS"
|
||||||
|
|
||||||
echo -e "${NOCOLOR}Konvertiere $DOC_FILE...${NOCOLOR}"
|
debug "Konvertiere $DOC_FILE..."
|
||||||
|
|
||||||
# Datei in das Zielverzeichnis als PDF konvertieren
|
# Datei in das Zielverzeichnis als PDF konvertieren
|
||||||
if lowriter --headless --convert-to pdf --outdir "$ZIEL_VERZEICHNIS" "$DOC_FILE"; then
|
if lowriter --headless --convert-to pdf --outdir "$ZIEL_VERZEICHNIS" "$DOC_FILE"; then
|
||||||
echo -e "${GREEN}Loesche Originaldatei $DOC_FILE...${NOCOLOR}"
|
debug -e "Loesche Originaldatei $DOC_FILE..."
|
||||||
rm "$DOC_FILE"
|
rm "$DOC_FILE"
|
||||||
else
|
else
|
||||||
echo -e "${RED}Fehler: Konvertierung fehlgeschlagen fuer $DOC_FILE.${NOCOLOR}"
|
error "Fehler: Konvertierung fehlgeschlagen fuer $DOC_FILE."
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
echo " "
|
log -e "================>DOC umwandlung Abgeslossen<==================="
|
||||||
echo " "
|
|
||||||
echo -e "${GREEN}================>DOC umwandlung Abgeslossen beginne PPT<===================${NOCOLOR}"
|
|
||||||
echo " "
|
|
||||||
echo " "
|
|
||||||
|
|
||||||
|
|
||||||
|
# Alle .ppt-Datein im Hauptordner und Unterordnern finden
|
||||||
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
|
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
|
# Relativen Pfad zur Datei finden
|
||||||
RELATIVER_PFAD="${PRES_FILE#$HAUPT_ORDNER/}"
|
RELATIVER_PFAD="${PRES_FILE#$HAUPT_ORDNER/}"
|
||||||
|
|
||||||
# Zielverzeichnis für die PDF-Datei bestimmen
|
# Zielverzeichnis für die PDF-Datei bestimmen
|
||||||
ZIEL_VERZEICHNIS="$ZIEL_ORDNER/Anhang/$(dirname "$RELATIVER_PFAD")"
|
ZIEL_VERZEICHNIS="$ZIEL_ORDNER/Anhang/$(dirname "$RELATIVER_PFAD")"
|
||||||
|
|
||||||
|
# Ausgabe
|
||||||
|
debug "Konvertiere $PRES_FILE..."
|
||||||
echo -e "${NOCOLOR}Konvertiere $PRES_FILE...${NOCOLOR}"
|
|
||||||
|
|
||||||
# Datei in das Zielverzeichnis als PDF konvertieren
|
# Datei in das Zielverzeichnis als PDF konvertieren
|
||||||
if libreoffice --headless --convert-to pdf --outdir "$ZIEL_VERZEICHNIS/Anhang" "$PRES_FILE"; then
|
if libreoffice --headless --convert-to pdf --outdir "$ZIEL_VERZEICHNIS/Anhang" "$PRES_FILE"; then
|
||||||
echo -e "${GREEN}Loesche Originaldatei $PRES_FILE...${NOCOLOR}"
|
debug "Loesche Originaldatei $PRES_FILE..."
|
||||||
rm "$PRES_FILE"
|
rm "$PRES_FILE"
|
||||||
else
|
else
|
||||||
echo -e "${RED}Fehler: Konvertierung fehlgeschlagen fuer $PRES_FILE.${NOCOLOR}"
|
error "Fehler: Konvertierung fehlgeschlagen fuer $PRES_FILE."
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
echo " "
|
|
||||||
echo " "
|
log -e "${GREEN}================>PPT umwandlung Abgeslossen<===================${NC}"
|
||||||
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
|
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
|
# Relativen Pfad zur Datei finden
|
||||||
RELATIVER_PFAD="${TAB_FILE#$HAUPT_ORDNER/}"
|
RELATIVER_PFAD="${TAB_FILE#$HAUPT_ORDNER/}"
|
||||||
|
|
||||||
# Zielverzeichnis für die PDF-Datei bestimmen
|
# Zielverzeichnis f�r die PDF-Datei bestimmen
|
||||||
ZIEL_VERZEICHNIS="$ZIEL_ORDNER/Anhang/$(dirname "$RELATIVER_PFAD")"
|
ZIEL_VERZEICHNIS="$ZIEL_ORDNER/Anhang/$(dirname "$RELATIVER_PFAD")"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo -e "${NOCOLOR}Konvertiere $TAB_FILE...${NOCOLOR}"
|
echo -e "${NC}Konvertiere $TAB_FILE...${NC}"
|
||||||
|
|
||||||
# Datei in das Zielverzeichnis als PDF konvertieren
|
# Datei in das Zielverzeichnis als PDF konvertieren
|
||||||
if libreoffice --headless --convert-to pdf --outdir "$ZIEL_VERZEICHNIS/Anhang" "$TAB_FILE"; then
|
if libreoffice --headless --convert-to pdf --outdir "$ZIEL_VERZEICHNIS/Anhang" "$TAB_FILE"; then
|
||||||
echo -e "${GREEN}Loesche Originaldatei $TAB_FILE...${NOCOLOR}"
|
echo -e "${GREEN}Loesche Originaldatei $TAB_FILE...${NC}"
|
||||||
rm "$TAB_FILE"
|
rm "$TAB_FILE"
|
||||||
else
|
else
|
||||||
echo -e "${RED}Fehler: Konvertierung fehlgeschlagen fuer $TAB_FILE.${NOCOLOR}"
|
echo -e "${RED}Fehler: Konvertierung fehlgeschlagen fuer $TAB_FILE.${NC}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
echo -e "${GREEN}============================${NOCOLOR}"
|
echo -e "${GREEN}============================${NC}"
|
||||||
echo -e "${GREEN}Konvertierung Abgeschlossen.${NOCOLOR}"
|
echo -e "${GREEN}Konvertierung Abgeschlossen.${NC}"
|
||||||
echo -e "${GREEN}============================${NOCOLOR}"
|
echo -e "${GREEN}============================${NC}"
|
||||||
|
|||||||
Reference in New Issue
Block a user