26-05-21, 08:46
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
Mais le fichier n'existe pas selon le test...
J'ai fait un autre test, j'ai exécuté le script suivant
Et le terminal affiche : /d/MonImage.jpg exists.
J'ai ensuite testé en modifiant la ligne QUERY de la façon suivante :
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
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
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 Confused](https://forums.darktable.fr/images/smilies/confused.png)