# Add files, one-by-one to SAME INSTANCE of Mp3tag

**URL:** https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767
**Category:** Support
**Created:** [March 9, 2025, 1:18pm UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767 "2025-03-09T13:18:28Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![B2b03B](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/cab0a1/32.png) [@B2b03B](https://community.mp3tag.de/u/B2b03B)
#### Post date: [March 9, 2025, 1:18pm UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/1 "2025-03-09T13:18:28Z")

</div>

I have a post-process function/script that can run from my DAW, inside its audio mixdown dialog. After export completes the script runs and launches Mp3tag with that resulting output file listed. I can then edit/save any metadata/tags on that file. So far, so good.

I actually would like to run several such outputs from my DAW first, with different mixes/song filenames and as such, have them load (via the script) into the SAME INSTANCE of Mp3tag.

What happens right now, at the end of each subsequent 'export', the script runs and Mp3tag launches but with the _latest output file_ listed, the previous one being replaced. So, any metadata/tags info I edited before, is 'lost'.

I've seen the Feature Request topic about having an 'Add Files' button, which also explains how you can add single files to the list by dragging and using CTRL before mouse release. Can't see that this covers what I need here...

Hope I've explained things ok... 😉

I think it would make a great additional workflow improvement (allowing files to be 'added' to an existing list, without dragging/using modifier keys etc...)

Bob

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [March 9, 2025, 1:21pm UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/2 "2025-03-09T13:21:37Z")

</div>

> [@B2b03B](#):
>
> After export completes the script runs and launches Mp3tag

In the meantime until such a Feature Request will be accepted and implemented, you could change your script to write a playlistlist .m3u file.  
At the very end of your process, you could load such a playlist file (containing a path to all your files to process) and load them in Mp3tag.

---

<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: [March 9, 2025, 1:21pm UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/3 "2025-03-09T13:21:58Z")

</div>

Could you either show us the parameters with which you call MP3tag or have a look at MP3tag's command line interface

> **[Command Line Interface – Mp3tag Documentation](https://docs.mp3tag.de/command-line/)**
>
> Overview on command-line parameters to be used with Mp3tag. Mp3tag is the universal Tag Editor.

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [March 9, 2025, 1:25pm UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/4 "2025-03-09T13:25:43Z")

</div>

> [@B2b03B](#):
>
> the previous one being replaced.

This should not happen if you use [the above mentioned](https://docs.mp3tag.de/command-line/#add-directory-or-file)

> `/add`
> 
> Use this in combination with `/fp` or `/fn` to add files to the file list. Please note, that files are not automatically sorted when added to the file list.

---

<div class="post-metadata">

### Author: ![B2b03B](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/cab0a1/32.png) [@B2b03B](https://community.mp3tag.de/u/B2b03B)
#### Post date: [March 9, 2025, 1:35pm UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/5 "2025-03-09T13:35:51Z")

</div>

> [@LyricsLover](#):
>
> At the very end of your process, you could load such a playlist file (containing a path to all your files to process) and load them in Mp3tag.

Thank you - I did have a think about PlayLists, but didn't dive in too deep. And yes, as you say in the meantime, this could be fruitful. Will look into it.

---

<div class="post-metadata">

### Author: ![B2b03B](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/cab0a1/32.png) [@B2b03B](https://community.mp3tag.de/u/B2b03B)
#### Post date: [March 9, 2025, 1:43pm UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/6 "2025-03-09T13:43:09Z")

</div>

> [@LyricsLover](#):
>
> This should not happen if you use [the above mentioned](https://docs.mp3tag.de/command-line/#add-directory-or-file)

Thank you.! I will examine what's possible/if this will work.

My script literally just points to the \*.exe

Here's the section in question:-

```auto
	<Executable>
		<Name>Mp3tag</Name>
		<Version>3.28</Version>
		<Path>C:\Program Files\Mp3tag\Mp3tag.exe</Path>
		<Argument>"$PATH"</Argument>
	</Executable>

```

I'm no programmer/script king.! Don't know where it would be right/correct to place the /add command, such that on subsequent exports, those are 'added' to the list in Mp3tag...

---

<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: [March 9, 2025, 1:44pm UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/7 "2025-03-09T13:44:35Z")

</div>

> [@B2b03B](#):
>
> `<Argument>"$PATH"</Argument>`

Try  
`<Argument>/add /fp "$PATH"</Argument>`

---

<div class="post-metadata">

### Author: ![B2b03B](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/cab0a1/32.png) [@B2b03B](https://community.mp3tag.de/u/B2b03B)
#### Post date: [March 9, 2025, 1:44pm UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/8 "2025-03-09T13:44:38Z")

</div>

> [@ohrenkino](#):
>
> Could you either show us the parameters with which you call MP3tag or have a look at MP3tag's command line interface

Hi - and thanks for your attention too..! See above my other post with a section of the script that runs... I will look more into the docs you posted...

---

<div class="post-metadata">

### Author: ![B2b03B](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/cab0a1/32.png) [@B2b03B](https://community.mp3tag.de/u/B2b03B)
#### Post date: [March 9, 2025, 1:47pm UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/9 "2025-03-09T13:47:05Z")

</div>

> [@ohrenkino](#):
>
> Try  
> `<Argument>/add /fp "$PATH"</Argument>`

Ooh... ok, will do and post back here.!

Not right away mind, as I have other chores to get done and ready to send to my boss later... Thanks again.

---

<div class="post-metadata">

### Author: ![B2b03B](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/cab0a1/32.png) [@B2b03B](https://community.mp3tag.de/u/B2b03B)
#### Post date: [March 9, 2025, 2:13pm UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/10 "2025-03-09T14:13:45Z")

</div>

Couldn't wait... thought you were on to something there...

Sadly, all it does now is launch and list the first export ok. But any subsequent export is ignored.! Mp3tag opens, but with only that same original file listed.

(Subsequent exported file(s) are all output fine and stored in the designated folder - nothings getting 'trashed').

I'll have a look into the PlayList mechanism a bit more (how/when they're created and loaded, etc...)

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [March 9, 2025, 2:34pm UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/11 "2025-03-09T14:34:20Z")

</div>

> [@B2b03B](#):
>
> I'm no programmer/script king.!

What kind of script-language do you use?  
The above section seems to be XML data.  
But how to do you read this content and process it?

It depends on the language how you have to escape for example the double-quotes around `$PATH`.  
And if your `$PATH` contains a the full directory path only (without the filename), then you can try to use `/add /fn:` instead of `/add /fp:` as mentioned in the already linked documentation.

---

<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: [March 9, 2025, 2:41pm UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/12 "2025-03-09T14:41:33Z")

</div>

> [@B2b03B](#):
>
> Sadly, all it does now is launch and list the first export ok. But any subsequent export is ignored.! Mp3tag opens, but with only that same original file listed.

I just experimented with a batch file which calls MP3tag a couple of times - and that worked if called from the command prompt. So I would think the playlist is better

---

<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: [March 9, 2025, 3:04pm UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/13 "2025-03-09T15:04:35Z")

</div>

Experiments #2:  
The batch file with /add and /fn: work if MP3tag is already running.  
If MP3tag is closed, the batch file calls a separate instance of MP3tag for each file in sequence.  
So the best appoach would be:  
Check the syntax in the process file to call MP3tag in the /add fashion.  
Make sure that MP3tag is already running when you call your process file.

---

<div class="post-metadata">

### Author: ![B2b03B](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/cab0a1/32.png) [@B2b03B](https://community.mp3tag.de/u/B2b03B)
#### Post date: [March 10, 2025, 9:35am UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/14 "2025-03-10T09:35:23Z")

</div>

Thanks again everyone for your time and helpful clues.!

> [@LyricsLover](#):
>
> The above section seems to be XML data.  
> But how to do you read this content and process it?

You are correct - it is XML data. The 'script' is automatically called/run (user selectable) by the host DAW, at the end of its export audio process. To my knowledge there is no Command Line involved, for example.

> [@LyricsLover](#):
>
> And if your `$PATH` contains a the full directory path only (without the filename), then you can try to use `/add /fn:` instead of `/add /fp:` as mentioned in the already linked documentation.

Thank you.! **Using this syntax does work** (see below). Excellent... 😉

> [@ohrenkino](#):
>
> Make sure that MP3tag is already running when you call your process file.

Seems this isn't crucial. With it already open, I run an export, yet the output file from the DAW doesn't load into the list (Mp3tag does come to the 'front' though).

**However** , if I now close Mp3tag and run the task again (with a new increment number filename), Mp3tag opens as expected, but now with BOTH files listed.! Weird... And, after closing Mp3tag again, running an export once more from the DAW, Mp3tag opens and now includes _all three files_. Brilliant.!

Some more testing needed, but this may have cracked it for me for now.

Much appreciated.!

For reference, here's the full XML script I'm now using, that the host DAW calls...

```auto
<?xml version="1.0" encoding="UTF-8"?>
<AudioExportPostProcess>
	<Description>
		<us>Open in Mp3tag</us>
	</Description>
	<Icon>Mp3tag.png</Icon>
	<Executable>
		<Name>Mp3tag</Name>
		<Version>3.28</Version>
		<Path>C:\Program Files\Mp3tag\Mp3tag.exe</Path>
		<Argument>/add /fn "$PATH"</Argument>
	</Executable>
	<RunOnce>false</RunOnce>
	<WaitDone>false</WaitDone>
</AudioExportPostProcess>

```

Am going to mark this topic as 'solved' for now. I'll continue to look into PlayList mechanisms too..

---

<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: [March 10, 2025, 9:43am UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/15 "2025-03-10T09:43:24Z")

</div>

> [@B2b03B](#):
>
> `<Argument>/add /fn "$PATH"</Argument>`

I think that the correct syntax would be:  
`<Argument>/add /fn:"$PATH"</Argument>`  
I left out the colon in my initial suggestion, sorry.  
Perhaps it works even better with that modification

---

<div class="post-metadata">

### Author: ![B2b03B](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/cab0a1/32.png) [@B2b03B](https://community.mp3tag.de/u/B2b03B)
#### Post date: [March 10, 2025, 9:50am UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/16 "2025-03-10T09:50:17Z")

</div>

Thanks - yikes; **I'd missed that** from the @LyricsLover post above too..!

Ok, will make the correction and post back.

---

<div class="post-metadata">

### Author: ![B2b03B](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/b/cab0a1/32.png) [@B2b03B](https://community.mp3tag.de/u/B2b03B)
#### Post date: [March 10, 2025, 9:57am UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/17 "2025-03-10T09:57:02Z")

</div>

Oh my god - yes, yes.!! That's it..

So brilliant. That darn little colon... Perfect. Works a treat. Thank you all... 😂 👍 💪

---

<div class="post-metadata">

### Author: ![Casual\_Tea](https://community.mp3tag.de/user_avatar/community.mp3tag.de/casual_tea/32/18886_2.png) [@Casual\_Tea](https://community.mp3tag.de/u/Casual_Tea)
#### Post date: [March 10, 2025, 1:27pm UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/18 "2025-03-10T13:27:21Z")

</div>

For anyone wondering how you could achieve this in Python, this is the code I use in [lyrict](https://github.com/AverageHoarder/lyrict) to open specific tracks in Mp3tag:

```auto
# Open only songs with matching lyrics in mp3tag via CLI
def add_to_mp3tag(match_categories, first_track=True):
    for ext in match_categories.keys():
        for track in match_categories[ext]:
            if first_track:
                try:
                    subprocess.Popen(["mp3tag", "/fn:" + track])
                except subprocess.CalledProcessError:
                    print(f"Error while opening {track} in mp3tag.")
                first_track = False
                sleep(1)
            else:
                try:
                    subprocess.run(["mp3tag", "/add", "/fn:" + track])
                except subprocess.CalledProcessError:
                    print(f"Error while adding {track} to mp3tag.")
    return

```

The "sleep" command waits a second for Mp3tag to open if it's not already open. If your PC is slow you might need to extend this time.

I just wish the CLI options of Mp3tag included the option to pass it a list of file paths instead of adding one song at a time. Adding the same folder to Mp3tag by dragging it into the window is orders of magnitude quicker than adding the individual tracks via the CLI from a script.

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [March 10, 2025, 1:33pm UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/19 "2025-03-10T13:33:05Z")

</div>

> [@Casual\_Tea](#):
>
> I just wish the CLI options of Mp3tag included the option to pass it a list of file paths instead of adding one song at a time.

You can do that this way:  
Just use a playlist including a list of file paths and pass this playlist to Mp3tag.exe.  
(Of course you have to write such a playlist first, but this should not be too complicated to achieve in your script.)

---

<div class="post-metadata">

### Author: ![Casual\_Tea](https://community.mp3tag.de/user_avatar/community.mp3tag.de/casual_tea/32/18886_2.png) [@Casual\_Tea](https://community.mp3tag.de/u/Casual_Tea)
#### Post date: [March 10, 2025, 1:37pm UTC](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767/20 "2025-03-10T13:37:40Z")

</div>

Interesting, thanks for the idea! The [CLI documentation](https://docs.mp3tag.de/command-line/) doesn't mention what kind of files are supported, so I erroneously assumed only music files were supported.

So `mp3tag "/fn:playlist.m3u8"` would work? I'll have to try this when I finish my other project. Edit: Just tested it and it works. Lovely.

[Next page](https://community.mp3tag.de/t/add-files-one-by-one-to-same-instance-of-mp3tag/67767.md?page=2)
