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
# 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
# valeur de destdir mentionnée dans la règle. La fonction doit afficher le
# nouveau nom. Si le nouveau nom contient un chemin, destdir est ignoré et le
# fichier est déplacé dans le répertoire spécifié.
# valeur de destdir mentionnée dans la règle. La fonction doit définir la
# variable newname qui est le nouveau nom. Si le nouveau nom contient un chemin,
# destdir est ignoré et le fichier est déplacé dans le répertoire spécifié.
RULES=()

9
ufile
View File

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