Команда WinXP dir: 3 и 4 расширения char одинаковы?

Я пытаюсь рекурсивно искать дерево каталогов, чтобы найти все файлы .asp используя следующую команду:

 dir *.asp /s 

По какой-то причине это возвращает не только файлы asp, но также и файлы aspx.

  • Как заставить Windows правильно отображать символы Unicode?
  • Ярлык клавиатуры для вставки в командной строке Windows
  • Поиск того, какие банки содержат файл
  • Как открыть файлы в вертикально / горизонтальных разделенных окнах в Vim из командной строки
  • Sublime Text 2 / Windows: запуск из командной строки?
  • Запретить Windows System% PATH% от того, чтобы быть добавленным пользователю% PATH?
  • Как я могу заставить его игнорировать файлы aspx?

  • Добавление Bash в Ubuntu в Windows 10 в контекстное меню проводника (выпуски)
  • Как я могу экспортировать / импортировать один элемент keychain через командную строку в OS X?
  • Удаленный рабочий стол с поддержкой нескольких мониторов в XP?
  • Как изменить размер окна, чтобы он был больше физического экрана?
  • Как создать загрузочный USB-накопитель с несколькими операционными системами?
  • Как проверить размер папки из командной строки Windows?
  • 4 Solutions collect form web for “Команда WinXP dir: 3 и 4 расширения char одинаковы?”

     dir /x 

    По соображениям совместимости Windows генерирует имя 8.3 для каждого созданного длинного имени файла, а код соответствия подстановочных знаков ( FindFirstFile() ) проверяет как исходные, так и сокращенные имена. Используйте dir /x чтобы узнать, какие короткие имена назначены для каждого файла.

    «Расширяемая» часть имени 8.3 всегда создается простым усечением последнего расширения не более 3-х символов: .aspx в .ASP


    При использовании файловой системы NTFS создание имен 8.3 может быть отключено в системном масштабе, используя:

     fsutil behavior set disable8dot3 

    Однако это не повлияет на существующие имена. Вам придется переименовать каждый файл, а затем переименуйте его обратно в исходное имя.


    См. Также: Поиск в каталоге в командной строке Windows показывает неправильный вывод!

    Конечно, это зависит от того, какую команду DIR команды интерпретатора использует. Например, команда DIR команде Take Command соответствует только длинным именам по умолчанию и поэтому не демонстрирует этого поведения. ( Согласование коротких, а также длинных имен может быть включено для совместимости с командой DIR CMD.) Таким образом, есть способы решить эту проблему, которая не требует привилегий FSUTIL и администратора.

    Интересно – кажется, ошибка …

    Принимая во внимание, я бы натолкнулся на это так:

     dir /s *.asp | find /i /v ".aspx " 

    Если у вас есть PowerShell , вы можете использовать:

     dir *.asp -r | remove-item 

    Если у вас нет PowerShell, почему бы и нет?

    Давайте будем гением компьютера.