2016-05-25 4 views
1

Я не могу написать определенные символы (инвертированные вопросительные знаки, причудливые одиночные кавычки, амперсанды) в текстовый файл, а затем искать этот файл для этих символов. Например, следующий Findstr не находит перевернутом пункт знак вопроса в .txt:инвертированный знак вопроса и findstr

@echo off 
echo "Cato Event - GO Beyond GDP. What Really Drives the Economy¿">c:\test.txt 
findstr /I /N /C:"Cato Event - GO Beyond GDP. What Really Drives the Economy¿" c:\test.txt 
pause 

::chcp 1254 

Я попытался с различными командами CHCP также безрезультатно. Любая помощь приветствуется.

ответ

0

Это известная проблема с FINDSTR. Некоторые символы, предоставленные в командной строке с байтами ANSI> 127, перед выполнением поиска преобразуются в другой символ FINDSTR, что приводит к сбою поиска.

Решение состоит в том, чтобы помещать строку поиска в файл и использовать параметры и /G.

Смотрите раздел под названием «пределы символов для параметров командной строки - Расширенная преобразования ASCII» в What are the undocumented features and limitations of the Windows FINDSTR command?

Единственный вариант (если вы хотите придерживаться родных команд партии) заключается в использовании FIND вместо этого. Он имеет гораздо меньшую функциональность, но у него нет проблемы с переводом символов, и я считаю, что он должен работать для вашего простого литерала.

find /I /N "Cato Event - GO Beyond GDP. What Really Drives the Economy¿" c:\test.txt 

Номера строк в начале каждой соответствующей строки будет выглядеть [123] вместо 123:.

+0

Спасибо. Вот ваши комментарии включены. @echo off echo /c:>c:\mssucks.txt echo «Событие Cato - GO Beyond GDP. Что действительно управляет экономикой» »c: \ mssucks.txt findstr/I/L/G: c: \ mssucks.txt c: \ mssucks.txt pause Для больших наборов данных это медленное замедление. Любые ссылки - советы по другим способам пинга папки, полной файлов, против списка имен файлов, с учетом кодов ANSI> 127? – RKO

+0

@RKO - используйте FIND вместо этого - см. Мой обновленный ответ. – dbenham

+0

Спасибо. Так же медленно, но, по крайней мере, это работает. Findstr все еще выкидывает странные ошибки, даже если положить строку (ы) поиска в файл. Рабочие и медленные удары не работают и медленны. rko – RKO

Смежные вопросы