Batch Script - отображение файлов и каталога в отсортированном порядке - PullRequest
0 голосов
/ 29 апреля 2018

Итак, я пытаюсь создать собственную команду dir для cmd. Пока все работает отлично, за исключением того, что я хочу вывести каталоги и файлы, отсортированные по расширению, способом

dir /o:ge

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

@echo off

rem Title
echo.
echo CURRENT DIRECTORY [%cd%]
echo. 
rem Directories
for /d %%D in (*) do (
    echo [DIR] %%~nD
)

rem Files
for %%F in (*) do (
    echo %%~nxF
)
@echo on

Это производит:

Example

Я не уверен, как подойти к выводу файлов, отсортированных по расширению. Я искал в Интернете и не могу найти решение этой проблемы. Я понимаю, что пакетный скрипт очень ограничен, но я все еще хочу попробовать это реализовать. Я подумал об использовании цикла for и сохранении всех расширений файлов в «массив» (если он существует в пакете), а затем вывод их с помощью

*.fileExtension

Есть предложения?

Ура, Derek

1 Ответ

0 голосов
/ 29 апреля 2018

Как в моем комментарии…

@Echo Off
Echo  CURRENT DIRECTORY [%__CD__:~,-1%]&Echo(
For /F "EOL= Tokens=* Delims= " %%A In ('Dir /B/AD/ON') Do Echo  [DIR] %%A
For /F "EOL= Tokens=* Delims= " %%A In ('Dir /B/A-D/OE') Do Echo  %%A
Echo(&Pause>Nul

С другой стороны ...

@Echo Off
Echo  CURRENT DIRECTORY [%__CD__:~,-1%]&Echo(
For /F "EOL= Delims=" %%A In ('Dir /OGE/-C'
) Do For /F "Tokens=3*" %%B In ("%%A"
) Do If "%%B"=="<DIR>" (If Not "%%C"=="." If Not "%%C"==".." Echo  [DIR] %%C
) Else Echo  %%C
Echo(&Pause>Nul
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...