Понимание того, как Windows выполняет сопоставление с образцом в командной строке

Понимание того, как Windows выполняет сопоставление с образцом в командной строке

У меня есть 500 файлов в каталоге, от test1.txt до test500.txt.

По ссылке Microsofthttp://msdn.microsoft.com/en-us/library/ff469270.aspx, я не совсем понял разницу между * и <

Следующая команда в командной строке выдает сообщение «Файл не найден»

dir "test5<"

Однако dir "test5<<"перечисляет все файлы test5*.

В чем причина такого поведения? Я не смог найти статью, которая лучше бы объясняла, как "<" должен себя вести.

[править 1]

Также, если нет расширений, т.е. файлов test1 - test500, то "test5???"совпадают "test5", "test50" и "test500".

Разве это не должно выдавать сообщение «файл не найден», так как есть три символа «?»

решение1

<похож на *, за исключением одного отличия. <не совпадает с последним .в имени файла.

test5<не соответствует ничему, поскольку не соответствует расширению файлов в каталоге.

test5<<сопоставляет их, поскольку первый <соответствует именам файлов вплоть до .расширения файла, а второй <соответствует самому расширению файла.

решение2

В опубликованной вами статье обсуждаетсяалгоритмы, а не команды.

И есть<>операторы перенаправлениядля командной строки.

Связанный контент