# Action for \_ALL but \_FILENAME

**URL:** <https://community.mp3tag.de/t/action-for-all-but-filename/44578>\
**Category:** Support\
**Created:** [February 18, 2019, 7:36am UTC](https://community.mp3tag.de/t/action-for-all-but-filename/44578 "2019-02-18T07:36:59Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![WS64](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ws64/32/6075_2.png) [@WS64](https://community.mp3tag.de/u/WS64)\
**Post date:** [February 18, 2019, 7:36am UTC](https://community.mp3tag.de/t/action-for-all-but-filename/44578/1 "2019-02-18T07:36:59Z")

</div>

Is there a way to do a search and replace through the Actions menu for all fields but the Filename?  
I am using Win10, and I have destroyed files a few times with MP3TAG. These files then got such a filename that Windows was not able to access the file anymore at all. Although this is clearly a Windows bug I do not have any hope that this will get fixed soon.  
Of course I could just create my actions for each single field that I really use it for, but it would be helpful to be able to do a replace everywhere but not the filename.  
Is there a way to do that?

Just for the record, the only way to do anything with these corrupted files is to delete them from within a DOS box. I did not find a way to rename them or to recover them.

---

<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:** [February 18, 2019, 7:56am UTC](https://community.mp3tag.de/t/action-for-all-but-filename/44578/2 "2019-02-18T07:56:52Z")

</div>

No, there is no such function.  
I wonder how you created invalid filenames as MP3tag does take care not to write any invalid characters to filenames.  
So I would say that your accusation

> [@WS64](#):
>
> and I have destroyed files a few times with MP3TAG

is a little bold.

---

<div class="post-metadata">

**Author:** ![WS64](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ws64/32/6075_2.png) [@WS64](https://community.mp3tag.de/u/WS64)\
**Post date:** [February 18, 2019, 8:09am UTC](https://community.mp3tag.de/t/action-for-all-but-filename/44578/3 "2019-02-18T08:09:22Z")

</div>

Well, I have some complex regex replaces that destroyed the file name.  
I am not accusing MP3TAG of anything, I clearly said that this is a Windows bug.  
Windows should not be able to allow a program to change a file name in a way that Windows itself cannot access the file anymore.  
And of course my regex is the main culprit since it did something to the filename it should not have done.

But anyway a solution would be a new field in the dropdown to allow to use an action everywhere but the 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:** [February 18, 2019, 8:15am UTC](https://community.mp3tag.de/t/action-for-all-but-filename/44578/4 "2019-02-18T08:15:21Z")

</div>

If you insist on

> [@WS64](#):
>
> a solution would be a new field in the dropdown to allow to use an action everywhere but the filename.

the I cannot help you.  
Where it might be possible for me to help would be to modify the

> [@WS64](#):
>
> regex [that] is the main culprit since it did something to the filename it should not have done.

---

<div class="post-metadata">

**Author:** ![WS64](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ws64/32/6075_2.png) [@WS64](https://community.mp3tag.de/u/WS64)\
**Post date:** [February 18, 2019, 8:20am UTC](https://community.mp3tag.de/t/action-for-all-but-filename/44578/5 "2019-02-18T08:20:40Z")

</div>

Thanks, I am trying to recreate the issue.  
Everytime this happened (5 or 6 times in the last few weeks) it was more important for me to get the file back than to find the real solution (repairing the regex). So right now I cannot reproduce it and am not sure which of my regex (I run many at once in one action) does it.  
I am confident though that this will happen again soon with some strangely named or tagged files.

But, some not perfect regex can happen anytime, so it would be good to be able to make sure that this error cannot happen at all.

I think (but am not sure) that the changed file did end with a dot (e.g.g "title."), something that is not possible to do in Windows.

---

<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:** [February 18, 2019, 8:25am UTC](https://community.mp3tag.de/t/action-for-all-but-filename/44578/6 "2019-02-18T08:25:27Z")

</div>

> [@WS64](#):
>
> so it would be good to be able to make sure that this error cannot happen at all.

This function is available: use $validate() and no invalid character will be used for the filename

---

<div class="post-metadata">

**Author:** ![ryerman](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ryerman/32/5285_2.png) [@ryerman](https://community.mp3tag.de/u/ryerman)\
**Post date:** [February 18, 2019, 8:43am UTC](https://community.mp3tag.de/t/action-for-all-but-filename/44578/7 "2019-02-18T08:43:02Z")

</div>

> [@WS64](#):
>
> Of course I could just create my actions for each single field that I really use it for, but it would be helpful to be able to do a replace everywhere but not the filename.  
> Is there a way to do that?

Maybe this helps:

> [@Testing mp3tag behaviour](https://community.mp3tag.de/t/testing-mp3tag-behaviour/42469/2):
>
> I can't find this in the documentation, but my experience tells me this: \_TAG is a short-cut, or you might say "pseudo-field", that represents all fields in the tag when creating actions. The filename is not part of the tag so it is not included. \_All is similar, but it includes the filename (the extension is omitted). For Case conversion action: If Field is \_FILENAME --\> only the filename will be affected, but not the extension. If Field is \_TAG --\> only the tag(s) will be affected, but no…

---

<div class="post-metadata">

**Author:** ![WS64](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ws64/32/6075_2.png) [@WS64](https://community.mp3tag.de/u/WS64)\
**Post date:** [February 18, 2019, 8:48am UTC](https://community.mp3tag.de/t/action-for-all-but-filename/44578/8 "2019-02-18T08:48:27Z")

</div>

Thanks ryerman, that looks perfect!

---

<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:27pm UTC](https://community.mp3tag.de/t/action-for-all-but-filename/44578/9 "2026-02-09T12:27:55Z")

</div>


