Я пытаюсь сделать список каталогов файлов с именами файлов, состоящими из 8 символов, за которыми следует точка и расширение файла в командной оболочке Windows. Шаблон подстановки, который я использую, - «????????. TIF». Это возвращает ВСЕ имена файлов с расширением «.TIF», независимо от длины части имени файла перед расширением. Пример:
dir A * .TIF
Возвращает ABCDEFGH.TIF и ABCDEFGHIJ.TIF
dir ????????. TIF
Также возвращает оба файла. Я ожидаю, что будет возвращен только первый из них, поскольку он является единственным из двух, которые соответствуют шаблону (8 одиночных символов, за которыми следует «.TIF».) Чем объясняется такое поведение?
Заранее спасибо за любые ответы.
источник
DIR
соответствовать только длинным именам, поэтому я предложил использоватьFINDSTR
фильтровать выводDIR
вместо.Если вы хотите исправить это, откройте командную строку с повышенными правами и введите:
Существующие файлы будут по-прежнему иметь проблему, пока вы не удалите короткое имя файла. Новые файлы, которые вы копируете / создаете, не будут иметь проблемы. Если вам нужно массово вырезать короткие имена файлов, вы можете использовать:
Похоже, проблема связана с Windows 7, использующей короткое имя файла для подстановочных знаков вместо длинного имени файла.
источник
?
значит соответствует любому не замужем персонаж. Делаяdir ????????.TIF
Вы говорите, верните любые файлы, которые имеют 8 символов и.tif
расширение, в то время какdir A*.tif
означает вернуть любые файлы, которые начинаются сA
или «а» и иметь.tif
как продолжениеисточник