Tenho vários diretórios, alguns dos quais são interessantes:
>DIR /B
another_interesting_dir
one_boring_dir
one_interesting_dir
one_more_interesting_dir
Dos diretórios interessantes, quero extrair a parte anterior _interesting_dir
. Eu tentei
FOR /F %d IN ('DIR /B ^| FINDSTR interesting') DO ECHO %d:~0,-17%
com este resultado:
another_interesting_dir:~0,-17%
one_interesting_dir:~0,-17%
one_more_interesting_dir:~0,-17%
Então eu tentei
FOR /F %d IN ('DIR /B ^| FINDSTR interesting') DO SET a=%d & ECHO %a:~0,-17%
com este resultado:
one_more
one_more
one_more
Como posso extrair another
, one
e one_more
? Eu preferiria fazer isso em um único comando, mas um arquivo em lote também funcionaria.
No console:
No script:
Detalhes sobre regras de escape em lote: