2016-10-20 2 views
1

У меня есть пакетный файл, который находит последнее изменение каталога в путиКак найти конкретные каталоги с помощью пакетного файла Windows?

for /f "delims= %%x in (' dir/ad /od /b "C:\Path") do set newest=%%x 

Мне нужно изменить этот сценарий, чтобы только искать определенные папки и найти последнее изменение одного. Например, если путь содержит 4 каталога (красный, синий, зеленый, желтый), я хочу дать команду только искать 2 каталога (синий, зеленый) и найти последнюю измененную.

ответ

1
for /f "delims=" %%x in (
    'dir/ad /od /b "C:\Path" ^| Findstr /i "Blue Green" ' 
    ) do set newest=%%x 

отфильтрует в or моде все строки, содержащие синий или зеленый цвет в любой позиции в строке.

+1

Вы пропустили близко "для delims – soja

+0

Я хотел бы сделать это в регулярное выражение так, чтобы оно соответствовало начало и конец от слова в противном случае это могло бы соответствовать частичному. – Squashman

+0

@soja Спасибо за подсказку, изменен. – LotPings

1

С именами каталогов, как, что вы даже уйти без Findstr:.

@ECHO OFF 
FOR /F "DELIMS=" %%A IN ('DIR/B/AD-L/OD "C:\PATH\B?UE" "C:\PATH\GR?EN"') DO (
    SET "NEWEST=%%A" 
SET NEWEST 
PAUSE 
Смежные вопросы