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

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

 dir *.asp /s 

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

  • Почему общее использование памяти, сообщаемое диспетчером задач Windows, намного выше, чем сумма использования памяти всех процессов?
  • Как преобразовать Word (doc) в PDF из командной строки Windows?
  • Sublime Text 2 / Windows: запуск из командной строки?
  • Поиск того, какие банки содержат файл
  • Как отключить предварительный просмотр миниатюр панели задач в Windows 10?
  • Как сделать Firefox 39 отображать заголовок страницы активной вкладки в строке заголовка окна?
  • Как я могу заставить его игнорировать файлы aspx?

  • Как точно определить, какие действия с файлом будут отменены при выполнении отмены в проводнике Windows?
  • Планировщик задач Windows и возможные проблемы с разрешением
  • Cloned XP не будет загружаться должным образом - застрял перед выбором экрана входа / выбора пользователя
  • Как открыть второй экземпляр Skype с помощью Batch-файла?
  • Как организовать файлы в именованных каталогах из командной строки под Linux
  • Как перезапустить Linux (Ubuntu) из командной строки?
  • 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, почему бы и нет?

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