Why don wildcards for file names like *.flac or *.wav work with flac/metaflac on Windows?
The Windows command shells (cmd.exe, command.com) implement wildcard handling differently than most other shells, leaving it up to the program to do everything including difficult and ambiguous cases. For an explanation of why wildcards on cmd.exe/command.com are dangerous, see here. Better command shells for Windows exist, e.g. from Cygwin. A workaround with the Windows shells is to do something like: for %F in (*.wav) do flac “%F” but care must still be taken that the command will execute as intended.