Copying Tags metadata when copying picture metadata

I seconds the feature request.
I was super excited when I read in the manual that you can effectively batch copy metadata via drag&drop ...
and I was super disappointed when I realized that the only metadata that's of interest to me - "Tags" under "Extended Properties" - cannot be copied via left- or right-click-d&d.

Is there a technical reason for that? The request is from 2021, a long time with no response for something that seems to be a rather small fix or addition.

I'd like to see that too! Tags (Keywords) are a standard photo metadata field, as are ratings.

Hear, hear. Easier access to photo tags is the only thing keeping me from using Dopus more for photo organization. I want to copy and insert photo tags easier.

For now you could try using following script

Rename FILEINFO TO {keywords}
@script vbscript
Option Explicit

Dim objShell
Set objShell = CreateObject("WScript.Shell")

Function Rename_GetNewName(strFileName, strFilePath, fIsFolder, strOldName, ByRef strNewName)

Dim strCommand, vbQuote
strCommand = ""
vbQuote = Chr(34)

' DOpus.OutputString(strNewName)
strCommand = vbQuote & "C:\Program Files\GPSoftware\Directory Opus\dopusrt.exe" & vbQuote & " /cmd clipboard set " & strNewName

' Set strNewName to an empty string so that Opus does not rename the file
strNewName = ""

Set objShell = CreateObject("WScript.Shell")
objShell.Run strCommand, 1, False

Set objShell = Nothing

End Function

That's the code to copy your tags into the clipboard. To paste it, just use the command at the bottom.
I have both commands assigned to some hotkeys.

Note, that you can't use this code for batch jobs, it will work only for single files. And thanks again to the guy from the forum here, who provided the script.

setattr meta "tags:{clip}"

2 Likes

In case it helps with the script above, if you create a new button for it, set it to the "Standard Function" type, not "Script Function".

(The first line is outside the script, and is running the Rename command. The script below that is attached and gets run by the command. So while it is mostly script code, it's considered a Standard Function. If you're wondering why it uses the Rename command when it's not renaming anything, It's because this used to be a tidy way to have the script inside the button instead of in a separate file. Still works fine today, so no reason to change it, but you don't see it that often as there are more direct ways now. Just thought it might be worth explaining for people who haven't seen it before.)

1 Like

CopyMeta lets you copy tags and other metadata between files.

https://resource.dopus.com/t/copymeta-copy-metadata-between-files/42137

1 Like

A few points:

I discovered drag and drop to copy some metadata by accident a while ago:
image
but I can't find anything about it in the manual.
Where is the info in the manual? Can someone please post a link?

I just did a quick test, and "Copy All Picture Fields" did copy Title and Description fields, but not Tags or Ratings, which seems strange since Tags, Ratings, Title and Description are stored in IPTC or XMP fields.
Date taken was also copied, and that's great!
So, currently, "Copy All Picture Fields" is really "Copy Some Picture Fields".

The CopyMeta Script Command does not copy the 'Date Taken', which is very important for photos.

So, If "Copy all picture fields" really did copy all picture fields, it would be amazing!

I'm not sure exactly what each item copies is documented down to the individual fields, though. Something we could improve in the docs.

Thanks for the link. The reason I didn't find it was that I searched using combinations of the words: copy, all, picture, and fields, but those words are not in the text.
On that same page, 'Picture fields' does not have a definition, but 'Picture Properties' does. Is 'Picture fields' supposed to be the same thing as 'Picture Properties'?

No.

Sorry lxp. I removed that sentence in my comment.

Also, the CopyMeta Script Command does not copy the Title or Description.

So what does this mean for the feature request and actual topic of this thread?
You've commented on everything except that.

Ixp's "CopyMeta" is great like all the other scripts he's posted, but it's more like a workaround most people wouldn't need if the existing function got fixed/extended.

1 Like

If I had anything useful to share about that, I would have. We're aware of the request but haven't committed to doing it, or not doing it, at this stage. Personally, I haven't been involved with the code that would need modifying and don't know what the change would entail without investigation. As a team, we're finishing other work and have a long, categorized list of ideas (including this one) for the future which we go through when we're doing other work in the same area, or when we finish work in one area and need to decide what to do next. Until then, it's unknown.

I may still reply to a thread with other information I think is useful, which doesn't mean the original request is being ignored; it just means there is no yes/no answer or timeline at this stage. Demanding a definitive response to something when there isn't one will just make me more likely to stay silent in general.

3 Likes

Ok, thanks.
I get that it must be tedious to write detailed answers when you can't actually make any definitive statements.
But I've kinda noticed a habit of you to not say anything in those cases and it sends the wrong message.
If the issue is one of many points on one of many lists, just tell ppl exactly that.
Even if it's disappointing, it's not as unpleasant as the impression that you're being ignored.

Ignored? In this forum? Ok, I still have to take out the trash and walk the dog on my own, but other than that I think we are getting all the attention we need (and probably more than we deserve).

1 Like

You are trying very hard to take that bit out of context.
That wasn't meant as an attack, so if this is your way of showing Leo your support against the rude noobie then it is unnecessary.

If we have no useful information then what is the point in us posting? What will anyone get out of it?

But I've kinda noticed a habit of you to not say anything in those cases and it sends the wrong message.

Have you noticed that most developers won't even talk to users? Sometimes I start to understand why.

If the issue is one of many points on one of many lists, just tell ppl exactly that.

It should be obvious that that is the case. Look at the number of requests on the forum. We should not need to state this on every single post. We simply don't have time to. We're trying to write the software as well, remember.

Even if it's disappointing, it's not as unpleasant as the impression that you're being ignored.

I've responded to several of your posts recently, so hearing you say that makes me wonder what you expect. Most developers would not even be talking to you, especially on a weekend. You can see from my account activity on here that I'm hardly ignoring people.

You can assume we read every suggestion and take it on board, even if we don't respond to it. I posted in this thread, so you can assume I read the suggestion at the top of it.

If we definitely won't do something, we typically say. If we say nothing, it's because we aren't sure about it yet (both whether to do it and when it would get done).

Oh Man !
Well, it is good to know that we are all human.
I have a simple piece of advise with an American twist.
Give credit where credit is due !

Is Directory Opus worth continuing ?
I watched a German movie recently called Der Tunnel.
Based on a true story of a 145 meter Berlin tunnel in the 1960's, I found myself needing English subtitles and at the same time hating them as they were so inaccurate.
Fritzi's reply to the question is wonderful.
Sorry, but this really reminded me of the German.
I really need a transcription to get it all, but I got that, almost; and 5 year olds.

Sorry, delete this if you prefer.
With respect to all.

Ok, this is getting silly ... especially because we've had a good amount of correspondence over the past couple days; I'm quite surprised that you think I was referring to my post. You had just replied to that post after all, so why would I complain about that.
Compared to that the OP's post hadn't gotten an answer in 17 month.
And when I added my 2ct and others joined in, you replied to us but still not to the OP and his request.
This was never about me. Though I had to be persistent and prod a little, I did get an answer and without much delay.

So you elected to ignore his request. You said it here, you made similar statements in other, older threads ... basically, whenever you think you can't tell people what they want to hear, you rather say nothing at all.
I think that's the wrong approach, that's all I've been trying to convey.
You could've simply said "Hey, I've read your post, we're aware of your request; but we are busy with too many other things to even discuss this right now."
You could've said that 17 month ago, you could've said something to that effect three days ago ... but you didn't. And I'm the bad guy for pointing it out. I should've seen it coming adn I have no clue why I didn't.
You say it should be obvious that you're busy ... . Yes. Yes it is. But those are two separate things.
Whether you can agree with that or not, I hope you do at least understand the point I'm trying to make ...

Are you serious? You think knowing that a dev has read your request means nothing? It's the main reason we post them. It's the detailed answers and quick solutions that are the optional part we don't expect or take for granted.
If you don't like replying with one-liner "excuses", add a bright button that you can click or something