Войти

Показать полную графическую версию : Найти строку в файле по маске


bulchonok
15-04-2013, 22:58
Добрый вечер!

Есть файл 1.txt, содержащий пути файлов. Нужно вывести те, в которых число подкаталогов более 3.

Есть 1.txt :
"D:\temp\ndart.txt"
"D:\temp\folder1\Folder2\Folder1\arnd.pas"

Вывести нужно: "D:\temp\folder1\Folder2\Folder1\arnd.pas"

Я решила найти строку по маске "*\*\*\*\*\", но ни find, ни findstr не хотят так искать. По другому не могу придумать. Подскажите или натолкните на хорошую мысль.
Заранее спасибо!

Iska
15-04-2013, 23:51
@echo off
setlocal enableextensions enabledelayedexpansion

type "0001.txt" | findstr.exe /r /c:"^.*\\.*\\.*\\.*\\.*\\.*$"

endlocal
exit /b 0

Так, стоп. «Три и более трёх», или «более трёх» следует понимать как «от четырёх и выше»?

bulchonok
16-04-2013, 20:46
Более 3, т.е. "4 и выше". Спасибо за ответ, попробую, отпишусь

Iska
16-04-2013, 21:30
bulchonok, поправил код выше, добавив ещё один «\\.*» в маску.

bulchonok
17-04-2013, 19:31
Iska, спасибо

bulchonok
18-04-2013, 20:54
Все работает, спасибо! ))

FoserosX
24-04-2013, 15:52
[deleted]

Iska
24-04-2013, 20:34
FoserosX, попробуйте расставить знаки препинания для придания тексту смысла.

Delirium
25-04-2013, 01:50
%sustemdrive%\windows\notepad.exe »
тогда уже %systemdrive%.




© OSzone.net 2001-2012