Понимание того, почему команда DIR ведет себя таким образом

Понимание того, почему команда DIR ведет себя таким образом

Почему:

dir "test.txt "
dir test.txt.
dir "test.txt    . .   ."

все списки test.txt без ошибок в командной строке Windows? Есть ли другие суффиксы, которые игнорируются Windows?

(обратите внимание, что я добавил пробел и точку в конце имени файла)

решение1

Оболочка Windows не позволяет имени файла или папки заканчиваться точкой или пробелом. Существуют низкоуровневые процедуры, которые автоматически обрезают любые конечные точки и/или пробелы во многих ситуациях, в том числе при использовании с DIR.

В статье Центра разработки Windows Microsoft я нашел следующее подтверждение того, что имена не могут заканчиваться точкой или пробелом:Именование файлов, путей и пространств имен

Не заканчивайте имя файла или каталога пробелом или точкой. Хотя базовая файловая система может поддерживать такие имена, оболочка Windows и пользовательский интерфейс — нет. Тем не менее, допустимо указывать точку в качестве первого символа имени. Например, ".temp".

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