You are using a wildcard, so, matching files are moved. Microsoft documentation (links at the bottom) states
DOS_QM (> greater than) Matches any single character or, upon encountering a period or end of name string, advances the expression
to the end of the set of contiguous DOS_QMs.
DOS_STAR (< less than) Matches zero or more characters until encountering and matching the final . in the name.
So, your command is "moving" (as the target folder is the same as the source there is no real move operation) files without extension, that is, your command is equivalent to move *.
Now the next question should be:
- If the
^<
(or just "<"
) is selecting files without extension, why .a
file that has no name, it only has extension, gets selected?
And the answer is short names. Wildcard selection work on long and short names of the files. If you try with dir /x
to list the files short names, you will probably see that the short name for the .a
file has no extension.
More information
move ^<
was the complete command? I get "The filename, directory name, or volume label syntax is incorrect." with that command..a
. I can reproduce it. It doesn't actually move anything though ... investigations continue<
is the redirect command for stdin.^
is the escape character so^<
means a literal<
character. Somove ^<
should mean move a file called<
to the current directory. However<
is not a valid filename ...