Saída do comando dividido em lote

0

Eu tenho este comando que fornece listas de diretórios e seu caminho de arquivo:

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

Eu preciso separar a última parte da saída, por exemplo. "C: \ OS \ system \ DisplayLanguages \ en", então eu teria apenas os nomes das pastas.

    
por builder_247 27.01.2015 / 17:57

2 respostas

1

No lote do Windows, o %%~fD retorna Nome completo do caminho , então você pode usar

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

Por exemplo no meu Windows a partir da linha de comando:

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

O mesmo que

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

Acabei de descobrir que você pode obter a saída desejada por um simples comando:

dir /a:d /b
    
por 27.01.2015 / 18:37

Tags