74 lines
2.0 KiB
Bash
Executable File
74 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
DOWNLOADS="/mnt/c/Users/victo/Downloads"
|
|
DEST_CASO="/home/victor/davinti/Andamento"
|
|
DEST_XML="/home/victor/davinti/downloads_automatizado"
|
|
|
|
mkdir -p "$DEST_CASO"
|
|
mkdir -p "$DEST_XML"
|
|
|
|
echo "Monitorando Downloads (CASO + XML)..."
|
|
|
|
while true; do
|
|
|
|
for FILE in "$DOWNLOADS"/*; do
|
|
[[ -f "$FILE" ]] || continue
|
|
|
|
BASENAME=$(basename "$FILE")
|
|
|
|
###############################################################
|
|
# 1) CASO (#123#.ext) — prioridade absoluta
|
|
###############################################################
|
|
if [[ "$BASENAME" =~ \#([0-9]+)\#\.[A-Za-z0-9]+$ ]]; then
|
|
|
|
CASO_NUM="${BASH_REMATCH[1]}"
|
|
|
|
DATA=$(date +"%d-%m-%Y")
|
|
PASTA="$DEST_CASO/CASO $CASO_NUM - $DATA"
|
|
mkdir -p "$PASTA"
|
|
|
|
# remover #123#
|
|
NOME_LIMPO=$(echo "$BASENAME" | sed -E 's/#([0-9]+)#//')
|
|
NOME_LIMPO=$(echo "$NOME_LIMPO" | sed 's/ */ /g' | sed 's/^ *//;s/ *$//')
|
|
|
|
if [[ -z "$NOME_LIMPO" ]]; then
|
|
EXT="${BASENAME##*.}"
|
|
NOME_LIMPO="arquivo_caso_$CASO_NUM.$EXT"
|
|
fi
|
|
|
|
DEST="$PASTA/$NOME_LIMPO"
|
|
|
|
mv "$FILE" "$DEST"
|
|
echo "[CASO] Movido: $BASENAME → $DEST"
|
|
continue
|
|
fi
|
|
|
|
|
|
###############################################################
|
|
# 2) XML SEM FLAG (#123#)
|
|
###############################################################
|
|
if [[ "$BASENAME" == *.xml ]]; then
|
|
|
|
DEST="$DEST_XML/$BASENAME"
|
|
|
|
if [[ -e "$DEST" ]]; then
|
|
NAME="${BASENAME%.*}"
|
|
EXT="${BASENAME##*.}"
|
|
TS=$(date +"%Y%m%d_%H%M%S")
|
|
NOVO="${NAME}_$TS.$EXT"
|
|
mv "$FILE" "$DEST_XML/$NOVO"
|
|
echo "[XML] Renomeado: $NOVO"
|
|
else
|
|
mv "$FILE" "$DEST"
|
|
echo "[XML] Movido: $BASENAME"
|
|
fi
|
|
|
|
continue
|
|
fi
|
|
|
|
# outros arquivos → ignorar
|
|
done
|
|
|
|
sleep 1
|
|
done
|