Разделить вывод команды в пакетном режиме

Разделить вывод команды в пакетном режиме

У меня есть эта команда, которая выдает списки каталогов и их пути к файлам:

for /d %%D in (C:\OS\system\DisplayLanguages) do echo %%~fD

Мне нужно отделить последнюю часть вывода, например, "C:\OS\system\DisplayLanguages\en", чтобы у меня были только имена папок.

решение1

В пакете Windows %%~fDвозвратыПолное имя пути, так что вы могли бы использовать

for /d %%D in (C:\OS\system\DisplayLanguages\*) do @echo %%~nxD

Например, в моей Windows из командной строки:

FOR /D %G in (%windir%\system32\*) DO @Echo %~nxG

Такой же как

FOR /F "tokens=*" %G in ('dir /B /AD %windir%\system32\*') DO @Echo %~nxG

решение2

Я только что понял, что получить желаемый результат можно с помощью простой команды:

dir /a:d /b

Связанный контент