# Leave strings of capital letters capitalised AND capitalise first letter of “real” words

**URL:** <https://community.mp3tag.de/t/leave-strings-of-capital-letters-capitalised-and-capitalise-first-letter-of-real-words/47134>\
**Category:** Support\
**Created:** [November 24, 2019, 9:49am UTC](https://community.mp3tag.de/t/leave-strings-of-capital-letters-capitalised-and-capitalise-first-letter-of-real-words/47134 "2019-11-24T09:49:46Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Patch](https://community.mp3tag.de/user_avatar/community.mp3tag.de/patch/32/9350_2.png) [@Patch](https://community.mp3tag.de/u/Patch)\
**Post date:** [November 24, 2019, 9:49am UTC](https://community.mp3tag.de/t/leave-strings-of-capital-letters-capitalised-and-capitalise-first-letter-of-real-words/47134/1 "2019-11-24T09:49:46Z")

</div>

Possible? Or not? I use correct capitalisation action, and have separate rules to capitalise known capitalisation errors (Dj, Mc, etc...)

Any way to have strings of capitals that are already capitals, missed out or skipped over by the correct capitalisation action?

---

<div class="post-metadata">

**Author:** ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)\
**Post date:** [November 24, 2019, 10:54am UTC](https://community.mp3tag.de/t/leave-strings-of-capital-letters-capitalised-and-capitalise-first-letter-of-real-words/47134/2 "2019-11-24T10:54:03Z")

</div>

See the scripting functions in the help

> **[Scripting Functions – Mp3tag Documentation](https://docs.mp3tag.de/scripting/)**
>
> Documentation on Mp3tag's scripting functions. Mp3tag is the universal Tag Editor.

with special attention to $caps2()

---

<div class="post-metadata">

**Author:** ![Patch](https://community.mp3tag.de/user_avatar/community.mp3tag.de/patch/32/9350_2.png) [@Patch](https://community.mp3tag.de/u/Patch)\
**Post date:** [November 24, 2019, 11:57am UTC](https://community.mp3tag.de/t/leave-strings-of-capital-letters-capitalised-and-capitalise-first-letter-of-real-words/47134/3 "2019-11-24T11:57:42Z")

</div>

Can this be applied to \_FILENAME?

---

<div class="post-metadata">

**Author:** ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)\
**Post date:** [November 24, 2019, 12:03pm UTC](https://community.mp3tag.de/t/leave-strings-of-capital-letters-capitalised-and-capitalise-first-letter-of-real-words/47134/4 "2019-11-24T12:03:52Z")

</div>

a) have you tried it?  
b) why do you doubt it?  
c) in which context do you want to use the function?  
d) why do you have to apply it to the filename when the filename can be put together from the tag fields? Aren't the tag fields already in the correct shape?

---

<div class="post-metadata">

**Author:** ![Patch](https://community.mp3tag.de/user_avatar/community.mp3tag.de/patch/32/9350_2.png) [@Patch](https://community.mp3tag.de/u/Patch)\
**Post date:** [November 24, 2019, 12:09pm UTC](https://community.mp3tag.de/t/leave-strings-of-capital-letters-capitalised-and-capitalise-first-letter-of-real-words/47134/5 "2019-11-24T12:09:41Z")

</div>

a) yes  
b) I have tried using Actions within a group, and Actions (Quick), and can't get it to work... ☹  
c) I want to apply it in an existing Action Group, where Case Conversion already happens (using Case Conversion "\_FILENAME": Mixed Case, which works, but destroys already capitalised strings)  
d) My Filename is where the tags are created from - so I format my filename first, then convert filename \> Tags

---

<div class="post-metadata">

**Author:** ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)\
**Post date:** [November 24, 2019, 12:16pm UTC](https://community.mp3tag.de/t/leave-strings-of-capital-letters-capitalised-and-capitalise-first-letter-of-real-words/47134/6 "2019-11-24T12:16:26Z")

</div>

> [@Patch](#):
>
> have tried using Actions within a group, and Actions (Quick), and can't get it to work...

The you have to show us what you did.

> [@Patch](#):
>
> My Filename is where the tags are created from

As I said: the normal way is to manipulate the structured tag fields instead of the amorphous filename.  
Using the filenames as master for tag fields also has the drawback that not all characters that appear in tag fields are also valid for filenames. Like that you lose information.

> [@Patch](#):
>
> I want to apply it in an existing Action Group, where Case Conversion already happens ... but destroys already capitalised strings

You then probably have to change the order of actions in the action group.

---

<div class="post-metadata">

**Author:** ![Patch](https://community.mp3tag.de/user_avatar/community.mp3tag.de/patch/32/9350_2.png) [@Patch](https://community.mp3tag.de/u/Patch)\
**Post date:** [November 24, 2019, 12:22pm UTC](https://community.mp3tag.de/t/leave-strings-of-capital-letters-capitalised-and-capitalise-first-letter-of-real-words/47134/7 "2019-11-24T12:22:57Z")

</div>

I will remove the existing Case Conversion action from my action group, when I can get **$caps2(string)** working.

I Will keep trying to get the syntax correct using Actions (Quick) and when I find the right syntax, I will create that action within an existing Action Group.

---

<div class="post-metadata">

**Author:** ![Patch](https://community.mp3tag.de/user_avatar/community.mp3tag.de/patch/32/9350_2.png) [@Patch](https://community.mp3tag.de/u/Patch)\
**Post date:** [November 24, 2019, 12:24pm UTC](https://community.mp3tag.de/t/leave-strings-of-capital-letters-capitalised-and-capitalise-first-letter-of-real-words/47134/8 "2019-11-24T12:24:49Z")

</div>

Looks like I got it!

Action (Quick) \> Format Value \> Field: \_FILENAME Format String: **$caps2(%\_FILENAME%)**

🙏

---

<div class="post-metadata">

**Author:** ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)\
**Post date:** [November 24, 2019, 12:25pm UTC](https://community.mp3tag.de/t/leave-strings-of-capital-letters-capitalised-and-capitalise-first-letter-of-real-words/47134/9 "2019-11-24T12:25:20Z")

</div>

Which action do you intend to use to

> [@Patch](#):
>
> create that action within an existing Action Group

I would suggest "Format value" for \_FILENAME  
Format string: $caps2(%\_filename%)

---

<div class="post-metadata">

**Author:** ![Patch](https://community.mp3tag.de/user_avatar/community.mp3tag.de/patch/32/9350_2.png) [@Patch](https://community.mp3tag.de/u/Patch)\
**Post date:** [November 24, 2019, 12:38pm UTC](https://community.mp3tag.de/t/leave-strings-of-capital-letters-capitalised-and-capitalise-first-letter-of-real-words/47134/10 "2019-11-24T12:38:21Z")

</div>

What is the difference between \_filename and \_FILENAME?

---

<div class="post-metadata">

**Author:** ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)\
**Post date:** [November 24, 2019, 12:49pm UTC](https://community.mp3tag.de/t/leave-strings-of-capital-letters-capitalised-and-capitalise-first-letter-of-real-words/47134/11 "2019-11-24T12:49:29Z")

</div>

> [@Patch](#):
>
> \_filename and \_FILENAME?

Except the case there is none.  
\_FILENAME addresses the name of a field.  
%\_filename% addresses the contents of the named field.

---

<div class="post-metadata">

**Author:** ![Patch](https://community.mp3tag.de/user_avatar/community.mp3tag.de/patch/32/9350_2.png) [@Patch](https://community.mp3tag.de/u/Patch)\
**Post date:** [November 25, 2019, 12:47pm UTC](https://community.mp3tag.de/t/leave-strings-of-capital-letters-capitalised-and-capitalise-first-letter-of-real-words/47134/12 "2019-11-25T12:47:26Z")

</div>

I wish I’d known about $caps2() before now!

It is a super useful little action!

---

<div class="post-metadata">

**Author:** ![system](https://community.mp3tag.de/uploads/default/original/2X/c/ce7035d426cb755a7916793326d23b465222a407.png) [@system](https://community.mp3tag.de/u/system)\
**Post date:** [February 9, 2026, 12:28pm UTC](https://community.mp3tag.de/t/leave-strings-of-capital-letters-capitalised-and-capitalise-first-letter-of-real-words/47134/18 "2026-02-09T12:28:20Z")

</div>


