Even if you set 'Field' parameter of a column to %_filename_ext%, renaming still modifies part before the extension.
I wouldn't call this a bug as the extension determines how the file is treated. Or: a text does become a picture simply by changing ".txt" to ".jpg".
Also, renaming the extention could lead to the fact that mp3tag does not display that file any more.
The file can be renamed. Please note that you have to enter %_filename% as value and as field.
If you leave Field empty then the display is read-only.
Basically the content of a read-only pseudo tag-field, like %_filename_ext%, cannot be changed by the user.
Changing the content of %_filename_ext% from within a list view cell with consequence to the real filename should not be accepted anyway by Mp3tag - and indeed it is not accepted.
Mp3tag opens only an edit area just for the filename part.
This restricted behaviour should be mentioned in the manual.
If you want to change parts of the filename, also filename extension, then use the action "Replace using Regular Expression" on the pseudo tag-field "_FILENAME".
DD.20110607.1810.CEST
There is only one action in Mp3tag which can do this:
Action: Replace with regular expression
Field: _FILENAME
Regular expression: .tmp$
Replace matches with: .mp3
This example is a action I have stored which chages .tmp files into .mp3 files.
I'm not searching for a workaround. I know I can do this with an action. I've reported this as I considered it a bug/oversight.
Why?
In my opinion setting 'Field' to %_filename_ext% should result in modification of filename with extension even though it may cause Mp3tag not see the file (if you change extension to one denoting unsupported file format).
The default setting is %_filename% so it wouldn't cause any trouble for those not fiddling with their column settings.
That's right. Another inconsistency. If "Replace with regular expression" applies regex to the whole filename than why "Format value" should act different?
I think the best solution would be to provide two pseudo tag-fields _FILENAME and _FILENAME_EXT in the future.
I'm aware that this is a 12-year-old response, but I wrote an action that will CHANGE the file extension, for ANY Mp3Tag Readable input file, to your choosing. Basically, on a new Mp3Tag field (i.e. see "[#3]" from the excerpt), which you MUST create, such as %new_file_extension%, you can freely enter the extension of your choosing. However, keep in mind that, even though Mp3Tag will push your entry from %new_file_extension%, Mp3Tag will ONLY read "changed" file extensions from the same family tree (i.e. container). For example, if the original input file extension was .mp4, and you changed it to .m4v, .m4a, or .m4b, Mp3Tag will be able to read those changes and allow you to write back to .mp4 as well, if you wish. However, if you changed the .mp4 to .mkv, .m4r, .goku, etc, Mp3Tag, even though it's capable of reading an mkv file, will NOT read the newly changed extension from mp4 to mkv, and .m4r (iTunes ringtone) and .goku aren't readable via Mp3Tag. Therefore, you can just use the "undo" button (or Ctrl + Z). Basically, you can write to anything, but Mp3Tag might not be capable of reading the newly outputted extension. Likewise, it will read an .mka file extension that was previously .mkv extension. Nonetheless, I will also attach the .mta file as well.
EXPLANATION (Excerpt from .mta file):
[#0] Preserves the ORIGINAL filename by copying %_filename% to %preserve_original_filename%.
[#1] Preserves the ORIGINAL file extension by copying %_extension% to %preserve_original_extension%.
[#2] DELETES both the filename (i.e. %_filename%) and file extension (i.e. %_extension%), COMPLETELY, which was why I replaced with nothing.
[#3] Will combine "[#0]" and the NEW file extension. Moreover, I included an $if2(x,y) format string to PRESERVE the original file extension (i.e. %preserve_original_extension%) from "[#1]", just in case the %new_file_extension% Mp3Tag field was blank because if the $if2(x,y) string was absent, and the action was ran without an entry present in %new_file_extension%, the action will delete the file extension, leaving your file without a file extension.
[#4] Deletes the fields %preserve_original_filename% and %preserve_original_extension%.
[#0]
T=5
1=%_filename%
F=PRESERVE_ORIGINAL_FILENAME[#1]
T=5
1=%_extension%
F=PRESERVE_ORIGINAL_EXTENSION[#2]
T=4
F=_FILENAME
1=^(.?).(.)$
2=
3=0[#3]
T=5
1=%preserve_original_filename%.$if2(%NEW_FILE_EXTENSION%,%preserve_original_extension%)
F=_FILENAME[#4]
T=9
F=PRESERVE_ORIGINAL_FILENAME;PRESERVE_ORIGINAL_EXTENSION
UNIVERSAL File Extension CHANGER by wneclass2018 (October 12th 2022).mta (358 Bytes)