id3
id3 copied to clipboard
id3 0.80 can't find file with brackets in name
E:\>for %m in (*.mp3) do id3 -v "%m"
E:\>id3 -v "[test].mp3"
id3: no files matching [test].mp3
E:\>id3 -v "[].mp3"
id3: no files matching [].mp3
Thanks. Introduced in commit 56f6ef4079b120049fc1c67f3c19448dc15eb863.
Out of curiousity: if a directory contains both 't.mp3' and '[test].mp3', which file do you think the wildcard '[test].mp3' should match? (bash selects "t.mp3"; Take Command selects "[test].mp3".)
If you want to support such wildcards, then t.mp3 and need an option to disable wildcards.
+1. I'm using GNU parallel to invoke id3 which calls it with one file at a time. The internal pattern matching is making it impossible to modify files with brackets in them. I agree that there needs to be a way of ignoring wildcards and treating the filename as verbatim.
- Fixed the bug which made id3 ignore files with brackets in them (which was introduced in 56f6ef4).
- Added the
-X
/--no-glob
option which disables wildcard handling altogether
Both changes are now in master: https://github.com/squell/id3/compare/53c538f4db...d257053d42
Thanks for the bug reports and helpful comments!
My fix is incomplete, as --no-glob is ignored for a simple id3
/ id3 -v
. I should probably also add escaping to allow globbing to be used in combination with files which have brackets in them.
Has any progress been made on this bug?
- [x]
--no-glob
should also affectid3 -v
or plainid3
- [x]
\
can be used to escape[
,?
and*