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/
SOLUTION
It is required to fix paths in the database.
Option A - one by one
- 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.
- goto Settings > Catalog
- select single folder
- press Relocate button
- update new Path
Note: it is case sensitive
- press OK
- update new Path
Option B - batch processing - export/import
- prerequisites
- make backup of your XnView.db
- Export catalog
- press Export... (Browser tab > File > Catalog)
- set .xml file via ... button
- check 'Export Rating & Color labels' checkbox
- Edit exported catalog
- open .xml file in text editor (eg Notepad)
- Replace old path with new
Note: it is case sensitive
- Save .xml file
- Import catalog
- press Clear&Import... (Browser tab > File > Catalog)
- press OK in confirmation popup
Option C - batch processing - db editing
- 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.
- download DB Browser for SQLite or DBeaver (or any other database administration tool)
- open XnView.db in db tool
- (optional) open Browse Data tab
- select Folders table
- check pathnames (you can edit them one by one, but its slow)
- Execute SQL query
- open Execute SQL tab
- paste query
Note: use Slash and not Backslash, paths are case sensitiveCode: Select all
UPDATE Folders SET Pathname = REPLACE(Pathname, 'D:/Photos_OLD', 'E:/Photos_NEW1') WHERE Pathname LIKE 'D:/Photos_OLD%';
- press Ctrl+Enter
- Write changes to db
- press Ctrl+S