ufile: changer la sémantique de renamef

This commit is contained in:
Jephté Clain 2017-04-21 11:16:47 +04:00
parent fec6b2fb8b
commit 5b0f13dde1
2 changed files with 9 additions and 6 deletions

View File

@ -5,7 +5,7 @@
# renamef est une fonction qui permet de supporter le renommage d'un fichier # renamef est une fonction qui permet de supporter le renommage d'un fichier
# lors de son classement. Sa signature est 'renamef filename pf destdir' où # lors de son classement. Sa signature est 'renamef filename pf destdir' où
# filename est le nom du fichier source, pf son chemin complet et destdir la # filename est le nom du fichier source, pf son chemin complet et destdir la
# valeur de destdir mentionnée dans la règle. La fonction doit afficher le # valeur de destdir mentionnée dans la règle. La fonction doit définir la
# nouveau nom. Si le nouveau nom contient un chemin, destdir est ignoré et le # variable newname qui est le nouveau nom. Si le nouveau nom contient un chemin,
# fichier est déplacé dans le répertoire spécifié. # destdir est ignoré et le fichier est déplacé dans le répertoire spécifié.
RULES=() RULES=()

9
ufile
View File

@ -78,14 +78,17 @@ for file in "$@"; do
fi fi
if eval "[[ \"\$filename\" == $(qwc "$pattern") ]]"; then if eval "[[ \"\$filename\" == $(qwc "$pattern") ]]"; then
if [ -n "$renamef" ]; then if [ -n "$renamef" ]; then
setx newname="$renamef" "$filename" "$pf" "$destdir" newname=
if [[ "$newname" == */* ]]; then "$renamef" "$filename" "$pf" "$destdir"
if [ -z "$newname" ]; then
destname="$filename"
elif [[ "$newname" == */* ]]; then
splitpath "$newname" destdir destname splitpath "$newname" destdir destname
else else
destname="$newname" destname="$newname"
fi fi
else else
newname="$filename" destname="$filename"
fi fi
estep "$filename --> $destdir/$destname" estep "$filename --> $destdir/$destname"
ask_yesno -i "Voulez-vous continuer?" O || { found=x; break; } ask_yesno -i "Voulez-vous continuer?" O || { found=x; break; }