Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Exécution purge_non_existing_images avec Windows
#3
Oui je pensais quelque chose comme ça, problème de compatibilité au niveau des chemins

J'ai ajouté echo "${path}" après le "Do" ligne 83 et le chemin suivant s'affiche dans le terminal git bash :
D:\/MonImage.jpg

Dans la base de donnée
La variable film_rolls.folder contient  : D:\
La variable images.filename contient : MonImage.jpg

J'ai donc tenté de modifier la ligne QUERY de cette façon
Code :
QUERY="SELECT images.id, film_rolls.folder || images.filename FROM images JOIN film_rolls ON images.film_id = film_rolls.id"

Mais le fichier n'existe pas selon le test...

J'ai fait un autre test, j'ai exécuté le script suivant

Code :
echo "start test"
pathTest="/d/MonImage.jpg"
if [ ! -f "$pathTest" ]
then
    echo "$pathTest does not exist."
else
    echo "$pathTest exists."
fi
echo "end test"

Et le terminal affiche : /d/MonImage.jpg exists.

J'ai ensuite testé en modifiant la ligne QUERY de la façon suivante :
Code :
QUERY="SELECT images.id, '/d/' || images.filename FROM images JOIN film_rolls ON images.film_id = film_rolls.id"

Et j'ai encore le même problème... le fichier n'existe pas selon le if

....

Voici un autre essai dont le résultat m'étonne

Code :
#QUERY="SELECT images.id, film_rolls.folder || '/' || images.filename FROM images JOIN film_rolls ON images.film_id = film_rolls.id"
QUERY="SELECT images.id, '/d/' || images.filename FROM images JOIN film_rolls ON images.film_id = film_rolls.id"

echo "Removing the following non existent file(s):"

echo "start test"
pathTest="D:\MonImage.jpg"
##echo "/$pathTest" | sed -e 's/\\/\//g' -e 's/://'
if [ ! -f "$pathTest" ]
then
    echo "$pathTest does not exist."
else
    echo "$pathTest exists."
fi
pathTest="/d/MonImage.jpg"
if [ ! -f "$pathTest" ]
then
    echo "$pathTest does not exist."
else
    echo "$pathTest exists."
fi
echo "end test"

while read -r -u 9 id path
do       

    if [ ! -f "$path" ]
    then
        echo "Not ok ${path}"
        ids="${ids+${ids},}${id}"
    fi
done 9< <(sqlite3 -separator $'\t' "$DBFILE" "$QUERY")

Résultat dans le terminal..

Removing the following non existent file(s):
start test
D:\MonImage.jpg exists.
/d/MonImage.jpg exists.
end test
Not ok /d/MonImage.jpg


Je ne comprends pas  Confused
Répondre


Messages dans ce sujet
RE: Exécution purge_non_existing_images avec Windows - par Scap - 26-05-21, 08:46

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)