Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] проверка наличие определенного текста в файлах

Ответить
Настройки темы
CMD/BAT - [решено] проверка наличие определенного текста в файлах

Пользователь


Сообщения: 57
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


задача, которую понятия не имею как воплотить в жизнь
есть огромное колличество тхт файлов
2015-название_файла-дополнительная_информация.txt
2015-название_файла1-дополнительная_информация1.txt
2015-название_файла2-дополнительная_информация2.txt
2015-название_файла3-дополнительная_информация3.txt
2015-название_файла4-дополнительная_информация4.txt
нужно проверить:
есть ли в этих файлах название_файла
как выдернуть в переменную примерно представляю, но не знаю как это совместить со сравнением наличия этого совппадения в самом файле и вывести в лог где нет совпадений

Отправлено: 12:44, 14-07-2015

 

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата shel_sv@vk:
есть огромное колличество тхт файлов »
И все — в одном каталоге?

Упакуйте с десяток таких файлов в архив и приложите к сообщению, либо выложите на RGhost.

Отправлено: 13:24, 14-07-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Сообщения: 874
Благодарности: 575

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@echo off

>nul chcp 1251

>"result.log" (
for /f "tokens=1,2* delims=-" %%i in ('2^>nul dir/a-d/b "*-*-*.txt"') do @(
 >nul find/i "%%j" "%%i-%%j-%%k"|| echo %%i-%%j-%%k
)
)

exit/b
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:28, 14-07-2015 | #3


Ветеран


Сообщения: 1759
Благодарности: 966

Профиль | Цитировать


Georgio, А почему find.exe, а не findstr.exe? Последний пошустрее, имхо.
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:33, 14-07-2015 | #4


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата Foreigner:
Последний пошустрее, имхо. »
Проверяли или по ощущениям?

Отправлено: 14:48, 14-07-2015 | #5


Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Цитата Iska:
Проверяли или по ощущениям? »
Офигеть, я проверил. Перелопатил один и тот же файл в поисках одного значения сначала так

Код: Выделить весь код
echo begin_time %time% > find.log
find /i "com" console.log
echo end_time %time% >> find.log
потом вот так
Код: Выделить весь код
echo begin_time %time% > findstr.log
findstr /i "com" console.log
echo end_time %time% >> findstr.log
и вот результат:
find.log
begin_time 15:17:54,11
end_time 15:18:02,64

findstr.log
begin_time 15:18:04,59
end_time 15:18:04,77

медленно мелькнула мысль что с кэша любой быстро считает, потому начал искать другое значение и сначала запустил findstr
findstr.log
begin_time 15:24:03,26
end_time 15:24:08,46

find.log
begin_time 15:24:09,86
end_time 15:24:26,70

Последний раз редактировалось Elven, 14-07-2015 в 15:27.


Отправлено: 15:21, 14-07-2015 | #6


Ветеран


Сообщения: 874
Благодарности: 575

Профиль | Отправить PM | Цитировать


Foreigner, "findstr.exe" в данном контексте не будет работать с кириллицей (по крайней мере, моя версия).




Вот сам проверь:



Код: Выделить весь код
@>nul chcp 1251

@for %%i in (
2015-название_файла1-дополнительная_информация1.txt
2015-название_файла3-дополнительная_информация3.txt
) do @>%%i rem:

@for %%i in (
2015-название_файла-дополнительная_информация.txt
2015-название_файла2-дополнительная_информация2.txt
2015-название_файла4-дополнительная_информация4.txt
) do @for /f "tokens=2 delims=-" %%j in ("%%i") do @(
 >%%i echo %%j
)


@echo off

>"result.log" (
for /f "tokens=1,2* delims=-" %%i in ('2^>nul dir/a-d/b "*-*-*.txt"') do @(
 >nul findstr/ilc:"%%j" "%%i-%%j-%%k"|| echo %%i-%%j-%%k
)
)

exit/b


.

Отправлено: 15:30, 14-07-2015 | #7


Ветеран


Сообщения: 1759
Благодарности: 966

Профиль | Цитировать


Georgio, У меня отработало без ошибок. вин-8.1
result.log:
Код: Выделить весь код
2015-название_файла-дополнительная_информация.txt
2015-название_файла1-дополнительная_информация1.txt
2015-название_файла2-дополнительная_информация2.txt
2015-название_файла3-дополнительная_информация3.txt
2015-название_файла4-дополнительная_информация4.txt
Версия findstr.exe:
Код: Выделить весь код
 > (gi C:\Windows\System32\findstr.exe).versioninfo | fl productversion, fileversion


ProductVersion : 6.3.9600.16384
FileVersion    : 6.3.9600.16384 (winblue_rtm.130821-1623)

Последний раз редактировалось Foreigner, 14-07-2015 в 20:16.


Отправлено: 20:10, 14-07-2015 | #8


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Foreigner, возможно в ней «findst.exe» наконец научили работать с кириллицей не только в кодовой странице 866. В XP, помнится, с этим точно были какие-то проблемы.

Отправлено: 20:25, 14-07-2015 | #9


Ветеран


Сообщения: 1759
Благодарности: 966

Профиль | Цитировать


Iska, согласен, было такое

Отправлено: 20:27, 14-07-2015 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] проверка наличие определенного текста в файлах

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Узнать наличие Хоста у определенного диапазона IP адресов _VIPER_ Хочу все знать 8 21-10-2013 20:44
CMD/BAT - [решено] Проверка папки на наличие определенного файла feAre Скриптовые языки администрирования Windows 8 21-06-2013 14:56
CMD/BAT - Как проверить наличие текста в файле mamont1 Скриптовые языки администрирования Windows 6 16-09-2010 16:32
CMD/BAT - Проверка на наличие какого-то текста Magniy Скриптовые языки администрирования Windows 4 20-04-2010 18:26
C/C++ - Поиск текста в файлах student_po Программирование и базы данных 6 04-09-2009 23:33




 
Переход