Я пытаюсь написать сценарий Windows cmd.exe
для подсчета случаев возникновения aes
после компиляции программы из командной строки. Это просто скрипт Audit/QA, чтобы гарантировать, что мы получаем то, что ожидаем.
Когда я использую findstr
без канала, он работает нормально:
cryptopp-5.6.3>dumpbin /disasm Win32/cryptlib/Debug/rijndael.obj | findstr aes
000000C1: 66 0F 3A DF C0 00 aeskeygenassist xmm0,xmm0,0
00000206: 66 0F 3A DF C0 00 aeskeygenassist xmm0,xmm0,0
00000345: 66 0F 38 DB 04 81 aesimc xmm0,xmmword ptr [ecx+eax*4]
00000366: 66 0F 38 DB 04 81 aesimc xmm0,xmmword ptr [ecx+eax*4]
0000039F: 66 0F 38 DB 04 81 aesimc xmm0,xmmword ptr [ecx+eax*4]
00000078: 66 0F 38 DC C8 aesenc xmm1,xmm0
000000AB: 66 0F 38 DC C8 aesenc xmm1,xmm0
...
Как только я отправляю результат, чтобы find /c
для подсчета вхождений, все взрывается. Мало того, что find
не работает , как и ожидалось, он сумел разбить команду исходя findstr
cryptopp-5.6.3>dumpbin /disasm Win32/cryptlib/Debug/rijndael.obj | findstr aes | find /c aes
FIND: Parameter format not correct
FINDSTR: Write error
По словам find /?
:
If a path is not specified, FIND searches the text typed at the prompt
or piped from another command.
Как мне передать вывод findstr
на вход find
?