Почему:
dir "test.txt "
dir test.txt.
dir "test.txt . . ."
все списки test.txt без ошибок в командной строке Windows? Есть ли другие суффиксы, которые игнорируются Windows?
(обратите внимание, что я добавил пробел и точку в конце имени файла)
решение1
Оболочка Windows не позволяет имени файла или папки заканчиваться точкой или пробелом. Существуют низкоуровневые процедуры, которые автоматически обрезают любые конечные точки и/или пробелы во многих ситуациях, в том числе при использовании с DIR
.
В статье Центра разработки Windows Microsoft я нашел следующее подтверждение того, что имена не могут заканчиваться точкой или пробелом:Именование файлов, путей и пространств имен
Не заканчивайте имя файла или каталога пробелом или точкой. Хотя базовая файловая система может поддерживать такие имена, оболочка Windows и пользовательский интерфейс — нет. Тем не менее, допустимо указывать точку в качестве первого символа имени. Например, ".temp".