Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [findstr] не ищет так как должен,в чем дело?или что не так? (http://forum.oszone.net/showthread.php?t=264733)

nfs911 22-07-2013 08:48 2188457

[findstr] не ищет так как должен,в чем дело?или что не так?
 
Вложений: 1
Всем привет.
Содержание тестового батника
Код:

@echo off
findstr /r /v /c:"Добавление\s.*\sв\sочередь\sна\sраспаковку" target.txt
pause

проблема в том что findstr не игнорирует а выводит всё
А вот AkelPad находит на ура

Помогите решить эту проблему
PS:после планируется использовать вот так expand.exe | findstr /r /v /c:"Добавление\s.*\sв\sочередь\sна\sраспаковку">>log.txt (если что не так поправьте) Вообще цель такая:вывести только ошибки,а успешные игнорировать
Содержание target.txt
прикрепил

Iska 22-07-2013 09:17 2188467

С чего Вы решили, что «findstr.exe» понимает «\s»? Вот что сказано: Findstr (остальное — здесь: Findstr - Search for strings | SS64.com ;)).

Цитата:

Цитата nfs911
findstr не игнорирует а выводит всё »

Поясните по-русски, что Вы понимаете под «не игнорирует»? «/v» означает «Вывести строки, не удовлетворяющие заданным условиям». В Вашем случае, поскольку ни одна строка не попадает под заданный шаблон (прежде всего из-за Вашей ошибки с «\s»), потому все строки и попадают в вывод.

Если хотите пользовать более-менее полноценный RegExp — либо используйте WSH/PoSH, либо портированные на Windows утилиты Unix.

nfs911 22-07-2013 09:25 2188469

Iska, Тогда как сцепить предложение?т.к.пробелы воспринимаются как перечисление фраз.

Цитата:

Цитата Iska
используйте WSH/PoSH »

я не вникал.Если вам нетрудно то реализуйте данный скрипт на WSH или PoSH и чтобы можно было подставить в bat

Iska 22-07-2013 10:38 2188500

nfs911, Вы поясните, что именно Вам нужно. Что есть — Вы выложили. Что нужно получить на выходе?

nfs911 22-07-2013 10:59 2188508

Цитата:

Цитата Iska
Что нужно получить на выходе? »

Цитата:

Цитата nfs911
вывести только ошибки »

а сообщения типа "файл распакован и всё ок" не выводить
это по сути

Iska 22-07-2013 11:13 2188516

Код:

type target.txt | findstr.exe /r /v /c:"Добавление .* в очередь на распаковку"
Цитата:

Код:

Трока строка с ошщибкой
Добавление вв иоааааа
чтото в очередь на рапаковку
оооооооо вот это уже  новость


Цитата:

Цитата nfs911
а сообщения типа "файл распакован и всё ок" не выводить »

«Типа» — не подходит. Выкладывайте оригинал файла, выкладывайте точный набор фраз.

nfs911 22-07-2013 12:19 2188560

Цитата:

Цитата Iska
type target.txt | findstr.exe /r /v /c:"Добавление .* в очередь на распаковку" »

Странно,я так 1000 раз пробовал и ничего,а теперь всё ок...наверно с утра туплю
Цитата:

Цитата Iska
точный набор фраз. »

Я пологаю
findstr.exe /r /v /c:"Предложение1" /c:"Предложение2" /c:"Предложение3" /c:"Предложение4" /c:"Предложение5"

Цитата:

Цитата Iska
«Типа» — не подходит. »

Да я тут подумал через %errorlevel%
типа if %errorlevel% == 1 >>log.txt :)

Iska 22-07-2013 12:30 2188570

Цитата:

Цитата nfs911
Я пологаю
findstr.exe /r /v /c:"Предложение1" /c:"Предложение2" /c:"Предложение3" /c:"Предложение4" /c:"Предложение5" »

«Точный набор фраз» :lol:. Ну, суть Вы уловили, это главное.

Цитата:

Цитата nfs911
Да я тут подумал через %errorlevel%
типа if %errorlevel% == 1 >>log.txt »

Ничего не понял.


Время: 05:47.

Время: 05:47.
© OSzone.net 2001-