Skip to content
/ ls Public

LS аналог команды ls для Windows, реализованный на Batch

Notifications You must be signed in to change notification settings

dictovod/ls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 

Repository files navigation

# ls.cmd — Аналог Unix-команды `ls` для Windows CMD

`ls.cmd` — это мощный и гибкий скрипт для Windows Command Prompt (cmd), который эмулирует поведение Unix-команды `ls`. Он позволяет отображать содержимое директорий, включая файлы и папки, с различными опциями, такими как рекурсивный поиск, вывод полных путей, фильтрация по типам файлов и отображение содержимого файлов, аналогично команде `type`. Скрипт разработан с учётом поддержки UTF-8 для корректного отображения имён файлов на русском и других языках.

## Возможности

- **Отображение содержимого директории**: Показывает файлы в текущей папке с полными путями по умолчанию.
- **Рекурсивный поиск**: Поддерживает отображение файлов и папок в подпапках с опцией `/s`.
- **Полные пути**: Выводит полные пути к файлам рекурсивно с опцией `/d`.
- **Вывод содержимого файлов**: Показывает содержимое файлов, как команда `type`, с опцией `/t`.
- **Фильтрация**: Позволяет показывать только файлы (`/f`) или использовать маску (например, `*.exe`).
- **Подробный режим**: Отображает дату, время и размер файлов/папок с опцией `/l`.
- **Размер папок**: Показывает размер файлов и папок с опцией `/v` (использует PowerShell для папок).
- **Исключение расширений**: Позволяет исключать файлы по расширениям с помощью `/x`.
- **Исключение директорий**: Полностью исключает папки и их содержимое с помощью `/xd`.
- **Дерево каталогов**: Показывает структуру папок в виде дерева с помощью `/tree`.
- **Поддержка UTF-8**: Корректно отображает имена файлов на русском и других языках.

## Установка

1. **Скачайте скрипт**:
   - Загрузите файл `ls.cmd` из репозитория:  
     https://github.com/dictovod/ls/blob/main/ls.cmd
   - Или используйте команду для скачивания:
     ```bash
     curl -o ls.cmd https://raw.githubusercontent.com/dictovod/ls/main/ls.cmd
     ```

2. **Разместите скрипт**:
   ```cmd
   copy ls.cmd C:\Windows

Теперь команда ls доступна из любой директории.

  1. Проверьте права доступа: Убедитесь, что у вас есть права на запись в C:\Windows.

  2. Требования:

    • Windows 7 или новее.
    • PowerShell (для опции /v).
    • Поддержка UTF‑8 (chcp 65001 включён в скрипте).

Использование

Синтаксис

ls [опции] [маска]

Опции

  • /s — Рекурсивный список.
  • /d — Полные пути ко всем файлам рекурсивно.
  • /f — Только файлы.
  • /l — Подробный режим.
  • /v — Размер файлов и папок.
  • /t — Вывод содержимого файлов.
  • /x — Исключить расширения (например: /x ".log,.tmp").
  • /xd — Исключить директории по имени (например: /xd "bin,obj").
  • /tree — Вывод дерева каталогов.
  • /h или /? — Справка.
  • маска — Фильтр файлов (*.exe, *.txt).

Поведение по умолчанию

Без параметров ls выводит полные пути к файлам в текущей директории.

Примеры

  1. Файлы в текущей папке:

    ls
  2. Содержимое файлов:

    ls /t
  3. Содержимое файлов рекурсивно:

    ls /d /t
  4. Рекурсивный список:

    ls /s
  5. Полные пути рекурсивно:

    ls /d
  6. Только файлы с подробностями:

    ls /f /l
  7. Фильтр по расширению:

    ls /l /v *.txt
  8. Исключить расширения:

    ls /t /x ".exe,.dll"
  9. Исключить директории (bin, obj):

    ls /s /xd "bin,obj"
  10. Дерево каталогов без bin и obj:

ls /tree /xd "bin,obj"

Ограничения

  • /v может работать медленно на больших директориях.
  • /t выводит содержимое как есть — бинарные файлы будут нечитаемыми.
  • /xd исключает директории по имени, но фильтрация выполняется по полному пути.
  • Для корректного отображения UTF‑8 требуется chcp 65001.

Устранение неполадок

  • Команда не найдена:

    echo %PATH%
  • Пустой вывод:

    dir /b
  • Проблемы с кодировкой:

    chcp 65001
  • Ошибки доступа:

    icacls "C:\path\to\folder"

Лицензия

MIT License.

Автор

Создано пользователем dictovod.
Issue и PR приветствуются: https://github.com/dictovod/ls

About

LS аналог команды ls для Windows, реализованный на Batch

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published