How to fix missing metadata after moving files

Frequently Asked Questions regarding XnView (including Answers)

Moderator: xnview

User avatar
user0
XnThusiast
Posts: 3021
Joined: Sat May 09, 2015 9:37 am

How to fix missing metadata after moving files

Post by user0 »

     
APP SETTINGS
when you modify metadata via overlay icons in Browser or via Metadata>Set.. menus,
XnViewMP saves metadata according to:
- Export settings in Settings>Metadata for files which app can write embedded metadata
- Sidecar settings in Settings>Metadata>Sidecar for the files which app can not write embedded metadata (eg RAW files)


ISSUE
XnViewMP will not be able to associate saved metadata with files in a new location if you move files using an external file manager,
eg you moved:
  • from
    D:/Photos_OLD/2024/2402/240219_event_name/
  • to
    E:/Photos_NEW/2024/2402/240219_event_name/
and app does not show your Tags/Rating/Labels/Categories(Keywords)


SOLUTION
It is required to fix paths in the database.

A - one by one
0. prerequisites
  • make backup of your XnView.db
  • rename current root folder with your images (eg Photos_NEW to Photos_NEW1) and do not open any image inside with XnView.
    You need to make sure that XnView has not indexed this new location.
1. goto Settings > Catalog
  • select single folder
2. press Relocate button
  • update new Path (Note: it is case sensitive)
  • press OK

B - batch processing
0. prerequisites
  • make backup of your XnView.db
  • rename current root folder with your images (eg Photos_NEW to Photos_NEW1) and do not open any image inside with XnView.
    You need to make sure that XnView has not indexed this new location.
1. open XnView.db in db tool

2. (optional) open Browse Data tab
  • select Folders table
  • check pathnames (you can edit them one by one, but its slow)
    DBBrowser4SQLite_BrowseData_Folders.png
3. Execute SQL query
  • open Execute SQL tab
  • paste query
    Note: use Slash and not Backslash, paths are case sensitive

    Code: Select all

    UPDATE Folders
    SET Pathname = REPLACE(Pathname, 'D:/Photos_OLD', 'E:/Photos_NEW1')
    WHERE Pathname LIKE 'D:/Photos_OLD%';
    
    DBBrowser4SQLite_ExecuteSQL.png
  • press Ctrl+Enter

4. Write changes to db
  • press Ctrl+S
You do not have the required permissions to view the files attached to this post.