@immelnikoff
Изучаю БД

Почему в cmd команда findstr ничего не возвращает?

Пишу
C:\Users\Melnikov-iv\Desktop>findstr /C:"SID" temp.txt >out.txt 2>error.txt
,
но команда ничего не возвращает (файлы out.txt и error.txt пустые).
Файл temp.txt существует, находится в \Desktop и одна из строк содержит подстроку "SID".
  • Вопрос задан
  • 620 просмотров
Решения вопроса 1
wisgest
@wisgest
Не ИТ-специалист. Рабочий. Шизоидный психопат.
Перед findstr выполнить:
rem Перекодировка файла в UTF-16 c BOM(!) в текущую кодировку консольного окна
cmd /a /c type temp.txt >temp2.txt
move /y temp2.txt temp.txt

Для понимания см., например, CMD/BAT: Перекодировка текстовых файлов.

Впрочем, возможна перекодировка на ходу:
more temp.txt | findstr /C:"SID" >out.txt 2>error.txt

или
more <temp.txt | findstr /C:"SID" >out.txt 2>error.txt

или
find /v "" <temp.txt | findstr /C:"SID" >out.txt 2>error.txt


В конце-концов можно вместо findstr использовать find:
find "SID" <temp.txt >out.txt 2>error.txt
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы