Windows Пакет, соответствующий строке - PullRequest
0 голосов
/ 18 апреля 2020

В конце я хочу сопоставить строку и использовать это значение.

У меня есть много папок под названием TEST123456 с разными номерами в разных местах на моем компьютере. Используя dir TEST?????? /s /b /a:d > folders.txt, я могу получить файл, который выглядит примерно так:

C:/folder1/folder2/TEST123456
C:/folder1/folder2/TEST654321
C:/folder2/TEST246810

Теперь этот список будет очень большим, поэтому я хочу отсортировать его по номеру. Я хочу изменить этот файл на:

TEST123456C:/folder1/folder2/TEST123456
TEST654321C:/folder1/folder2/TEST654321
TEST246810C:/folder2/TEST246810

, и было бы желательно, но не обязательно, делать это уже при вставке строк в текстовый файл.

Теперь я попытался использовать findstr TEST...... folders.txt, но он печатает всю строку, и мне нужна только соответствующая строка. Я очень новичок в Windows Batch, поэтому я думаю, что создать то, что я хочу, должно быть относительно легко.

1 Ответ

0 голосов
/ 18 апреля 2020

Вы можете использовать FOR /D до l oop через папки:

@echo off
>folders.txt (
for /D /R %%A in (test??????) do echo %%~nxA%%A
)
...