#!/usr/bin/env bash

# Save current directory (equivalent to %CD%)
MY_PATH="$(pwd)"

# Check if at least one folder argument is provided
if [ $# -eq 0 ]; then
    echo "Error: No folder was provided"
    echo
    echo "Usage: $0 <folder1> [folder2] ..."
    echo
    read -p "Press enter to exit"
    exit 1
fi

# Loop through all arguments (folders)
for folder in "$@"; do
    # Recursively find all files
    find "$folder" -type f | while read -r file; do
        ext="${file##*.}"

        # Skip certain extensions
        if [[ "$ext" != "bz2" && "$ext" != "rar" && "$ext" != "zip" ]]; then
            filename="$(basename "$file")"
            dirname="$(dirname "$file")"

            # Create bz2 archive
            7z u -tbzip2 "$filename.bz2" "$file"

            # Move it back to original folder
            mv -f "$MY_PATH/$filename.bz2" "$dirname/" 2>/dev/null
        fi
    done
done

read -p "Press enter to exit"
