some_upd
This commit is contained in:
Executable
+58
@@ -0,0 +1,58 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
dest_dir="$HOME/Pictures/Wallpapers"
|
||||
rmflag=0
|
||||
|
||||
usage() {
|
||||
echo "Usage: $0 [-r] <src-file> [src-file ...]"
|
||||
echo " -r remove source file after successful conversion"
|
||||
exit 2
|
||||
}
|
||||
|
||||
while getopts ":r" opt; do
|
||||
case "$opt" in
|
||||
r) rmflag=1 ;;
|
||||
*) usage ;;
|
||||
esac
|
||||
done
|
||||
shift $((OPTIND-1))
|
||||
|
||||
# Require at least one file
|
||||
if [ "$#" -lt 1 ]; then
|
||||
echo "Error: no source files provided"
|
||||
usage
|
||||
fi
|
||||
|
||||
# Check ImageMagick
|
||||
if ! command -v magick >/dev/null 2>&1; then
|
||||
echo "Error: ImageMagick 'magick' command not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "$dest_dir"
|
||||
timestamp=$(date +%Y%m%d%H%M%S)
|
||||
counter=0
|
||||
|
||||
# Process each file one by one
|
||||
for src in "$@"; do
|
||||
if [ ! -e "$src" ]; then
|
||||
echo "Error: '$src' does not exist, skipping"
|
||||
continue
|
||||
fi
|
||||
|
||||
counter=$((counter + 1))
|
||||
|
||||
dst="$dest_dir/wallpaper${timestamp}_${counter}.png"
|
||||
|
||||
if magick -- "$src" "$dst"; then
|
||||
echo "Created: $dst"
|
||||
if [ "$rmflag" -eq 1 ]; then
|
||||
rm -f -- "$src"
|
||||
fi
|
||||
else
|
||||
echo "Error: conversion failed for '$src'"
|
||||
fi
|
||||
done
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user