Using ExifTool Commands with Directory Opus

Leo,
According to the installation instruction at on the ExifTool website, the file can be placed in C:\Windows. ExifTool is not 'installed'. It should NOT be placed in the Program Files folder.
Since I am having so much difficulty figuring this out, I felt the need to correct you so that others who might read this in the future get the correct information.

When I use the code that you posted above, the Exif DateTimeOriginal does get copied to the Exif CreateDate field, but then I get this error message:

Can anyone help me fix this error?

Something strange is happening. I have a folder of test files I am using for testing this. I can only explain by writing it step-by-step:

  1. Folder A Test files have no Exif date metadata.
  2. I made a copy of A Test and named it B Test.
  3. I opened B Test folder and tested the command. The Exif DateTimeOriginal was successfully copied to the ExifCreateDate field.
  4. I deleted folder B Test.
  5. I copied folder A Test (again), then renamed it B Test.
  6. I opened B Test folder, and the files had the date metadata added to the old B Test folder I deleted.
  7. If I rename the folder with another letter, that does not happen.

So, it seems DOpus or Exiftool is 'remembering' the folder name and adding Exif dates to those files.
Now I am investigating other code I see such as -@ {allfilepath|filem} to find out if perhaps that has something to do with the problem.

Yes, I could just give the file a different name, but I am uncomfortable with mysterious things happening when I don't know why.

Could someone please suggest how to stop Exif Dates being added to the folder I copy and rename?

In the Command Editor for the button, set the Function drop-down to MS-DOS Batch Function.

Thank you.
Now I don't get the 'pause' error, but the command window opens:
image
Is that normal/expected?

That 'strange thing' still happens though.

Despite all the forum posts and pages I have read, I had no idea I was supposed to set the Function to MS-DOS. At one point (not in this topic) It was suggested I follow the instruction for using Raw Commands in 'How to use Buttons and Scripts from this Forum', but there is no mention of Function or MS-DOS there. I have seem info about MS-DOS commands, but I had no idea this was an MS-DOS Command.

Were you checking with the ExifTool Custom Columns? Then yes, the script wasn't aware of the folder name change and read from the wrong cache files. Simply delete the cache and try again.

And no, -@ {allfilepath|filem} has nothing to do with it.

Yes. ExifTool provides valuable feedback about what it has done with your files or found out about them.

The xml-button I posted is oven-ready with the function set to MS-DOS. It even contains a cute little icon :slight_smile:

1 Like

Thank you. I didn't use the xml button. My point is that I have seen nothing to indicate that MS-DOS should be used - other than Leo telling me that.

Simply? I can't find info about deleting the cache in this Forum or the online manual. I looked for a cache folder where the program is installed and in Program Data. I did not see one. In App Data >Local, there are 4 Directory Opus folders:
image
I don't think any of these folders are what I need to delete.

Please tell me where is the cache and how to delete it.

The cache is (by default) in /profile\ExifToolCache. Everything in there can be deleted.

The ExifTool script comes with two helper buttons for this kind of job: Open ExifToolCache in Dest and Delete ExifToolCache.

Thank you I don't know what 'profile' is, but I found it in my User C:\Users\xxxx\ExifToolCache.

I read that there are 'Helper buttons' and asked about them in another discussion, but never found out where they were or how to identify them.

Not that I have seen more code/scripts, I just had another look at the ExifTool Custom Columns file and I do see sections that may be buttons, but I'm not sure when one ends and another begins.

See: https://www.gpsoft.com.au/help/opus12/index.html#!Documents/Prefs/Folder_Aliases.htm

??? The word 'profile' isn't even used in the page you linked to! The folder I needed to find was in C:\Users\xxxx\ExifToolCache.

The page explains the concept of folder aliases, and how to use them.

It mentions there are lots of built-in ones. /profile is one such folder alias, although the page doesn't list them all, as that isn't the point of the manual page; explaining the concept is the aim.

You can see a list of aliases in Preferences.

For example, /desktop is an alias for the desktop folder, and /dopusdata is an alias for the main Opus configuration directory. These aliases can't be edited and by default are hidden from the list in Preferences, but you can display them by turning on the Show built-in aliases option at the bottom of this page.

Seems clear to me.

1 Like

It's clear to you because you're the developer. And because you're the developer, you seem to have lost the ability to see Directory Opus from a user's perspective - especially a user without programming/scripting/coding knowledge like myself.

With respect, it's not our job to teach you how to use Opus. We provide the software, a very detailed manual, and a forum where you can ask questions.

If you don't understand basic concepts we're happy to try to explain them, but constantly moaning and complaining because you don't understand things (which in many cases aren't specific to Opus) just makes us less inclined to want to help you.

We aren't here to provide tuition or hold your hand every single time you want to do something.

If you're finding that you continually don't understand things then perhaps what you're trying to do is too complicated for you and you should put it aside while you learn the software more.

3 Likes

Despite having asked several time what it is I should learn in order to better understand Directory Opus (some programming languages perhaps), I have never been given any advice in that area.

When you combine your honest self assessment with a recognition of the obvious power of Opus and a strong desire to leverage that capability you have the situation you find yourself in. A lot of people on this forum, including me, have gone through similar levels of frustration. For what it's worth I can vouch for the fact that you will get there if you persist but you need to resist the urge to try to jump too far too quickly. As you must have noticed there is no shortage of helpful people here who are happy to assist. You will learn on the job, so to speak, and as many others will attest it's worth the investment of time and patience.

Oh, and if/when you do decide to delve into scripting then JScript is recommended. There are plenty of examples in various subsections of the forum and assuming you are starting from scratch a good reference site is JavaScript Tutorial which is how I learned, with no previous knowledge.

Gie it a whirl Meg!

Regards, AB

3 Likes

Thank you aussieboykie,
I have asked what I should learn several times in this discussion and in others, and you're the first person to actually give me an answer!

The manual and other threads mentioned JavaScript. The script you're asking about how to edit in another thread is JavaScript. JavaScript isn't specific to Opus; it's a very common language that's used all over the web.

A large part of programming is searching the web to find information and answers. If you were stuck at searching for a tutorial on the language you want to learn, until someone posted a direct link to one, it's only going to get harder from here.

Anyone can learn to program, and it's a great skill to have and worth the time and frustration it takes to get over the initial learning curve. You can do it if you put in the effort, and I hope you do. But one of the most important steps is being able to seek and infer information yourself and not expecting other people to do such basic work for you (else we may as well be writing the scripts for you, and we & other forum members only have limited time). We're here to help with issues specific to Opus or that can't be answered anywhere else. There are forums on the web for learning how to program and asking general questions about programming which are better if you're struggling with things that aren't specific to Opus.

3 Likes

I see the JavaScript icon on larger/longer scripts, but not on short scripts/commands. Now that you have told me it's all JavaScript, I know what I need to research.

I have asked several times what I should learn, and did not get an answer until Aussieboykie answered my question. In fact, I have asked many questions in many discussions with the goal of not relying on Dopus developers and other forum members like lxp --yet the responses I get rarely include an answer to any questions I asked.

So, Leo, I find your comment to very condescending. You think I expect or want people to do basic work for me! You imply I am not willing to put in the effort, and you suggest I learn to seek out information for myself! That was my GOAL!

Edit: Rearranged some text. No significant change otherwise,

Though I was once upon a time a programmer in languages that have no relevance here, I hardly understand the current environment well enough to comment.

However ...

I don't think anyone said that it's all JavaScript for at least a couple of reasons.

VBScript, at least, is also supported.

ausieboykie said if/when you do decide to delve into scripting and then JScript is recommended.

Two things are relevant here.

One: JScript is recommended, not required. (See previous comment regarding VBScript).

Two: neither one is relevant until you decide to delve into scripting.

You mention short scripts/commands. I can't say for sure, but probably many of those to which you refer are not even scripting as the term is used in the context of Opus.

The Opus manual contains first level topics Scripting and Reference. Reference contains a subtopic Internal Commands.

The difference between the two needs to be understood.

Again, I don't know, but probably many of what you refer to as short scripts/commands are actually sequences of Internal Commands.

Short history lesson: The Internal Commands were part of Opus long before Scripting as the term is used in Opus.

At some point, support for Scripting was added to provide additional flexibility not provided by the Internal Commands,

The Internal Commands are not Scripting as the term is used in Opus and don't require any knowledge of any language except the internal commands.

Have you actually studied and tried to understand the Internal Commands?

No, neither have I to any significant extent, but sometimes there really isn't any shortcut to understanding except study and experimentation.

Having said all that, I say the remainder with hesitation, but I'm going to say it.

There can be a huge learning curve for anyone wanting to "master" Opus, but this is an extremely helpful and responsive forum.

Constantly coming across as being persecuted and ranting and railing about your perceived shortcomings in the Opus documentation and the replies you get to questions really isn't going to get you anywhere in the long run.

3 Likes