Запуск программы, которую я написал, не находит совпадений в файле
Я использовал команду wmic для построчного получения текстового документа с каждой программой.
Из wmic :
Все выходные файлы имеют текст в кодировке Юникод (преобразовать в ASCII с ТИПОМ )
Это сбивает с толку то, findstr
что ожидает ASCII в качестве ввода, например:
F:\test>findstr /i /v "microsoft windows visual" unicode.txt ■N a m e V e r s i o n V A I O D a t a R e s t o r e T o o l 1 . 6 . 0 . 1 3 1 4 0 I n k s c a p e 0 . 9 1 0 . 9 1 M S X M L 4 . 0 S P 3 P a r s e r ( K B 2 7 5 8 6 9 4 ) 4 . 3 0 . 2 1 1 7 . 0
Вы можете обойти это, используя следующую последовательность примеров команд:
wmic product get name,version > unicode.txt type unicode.txt > programs.txt findstr /i /v "microsoft windows visual" programs.txt > programs2.txt
В качестве альтернативы:
wmic product get name,version > programs.txt type programs.txt | findstr /i /v "microsoft windows visual" > programs2.txt
Заметки:
- Используйте текстовые файлы (не RTF) в качестве входных данных для
findstr
. type
используется для преобразования из Unicode в ASCII.- Эти
.
символы не нужны вfindstr
команде
Дальнейшее чтение
- Индекс AZ командной строки Windows CMD - Отличный справочник по всем вопросам, связанным с командной строкой Windows.
- type - отображать содержимое одного или нескольких текстовых файлов.
- wmic - команда инструментария управления Windows.