Заголовки Dumpbin для многих файлов

Я хочу проверить, все ли мои dll и библиотеки в проекте были созданы для x64, используя

dumpbin /headers *.obj | findstr machine

который выводит список, например. 8664 machine (x64). Как я могу напечатать имя файла для каждого файла в списке? Или мне нужно извлечь имена файлов в отдельный текстовый файл, прежде чем использовать цикл for?


person alex555    schedule 14.01.2013    source источник


Ответы (2)


dumpbin /headers *.obj | findstr "machine Dump" напечатает строку "Dump of file ...." и строку типа машины.

Из findstr справки

Используйте пробелы для разделения нескольких строк поиска, если аргумент не имеет префикса /C. Например, 'FINDSTR "привет там" x.y' ищет "привет" или "там" в файле x.y. 'FINDSTR /C:"hello there" x.y' ищет "hello there" в файле x.y.

person jcopenha    schedule 15.01.2013
comment
Спасибо, но это не совсем то, что я хотел. - person alex555; 17.01.2013
comment
нет проблем. В следующий раз, если вы сделаете свой вопрос более явным о том, что вы ищете, например, как мне напечатать имя файла: машина, вы получите лучшие ответы. - person jcopenha; 17.01.2013
comment
@jcopenha - глядя на историю редактирования, единственное, что изменилось в вопросе, - это теги. Возможно, я неправильно понимаю его просьбу, но мне кажется, что он был достаточно ясен в своем вопросе, когда спросил, как распечатать обрабатываемый файл. - person jww; 03.05.2014
comment
@jww Его запрос касается имен файлов и типов машин. Результат моей команды генерирует это. В своем комментарии он уточняет, что ему нужно имя файла: machine. Это уточнение формата вывода. Если вы запустите принятый ответ и мой ответ, вы получите ту же информацию. единственная разница - это окончательный формат, который не был указан в исходном вопросе. - person jcopenha; 05.05.2014

После долгих поисков я нашел решение своей проблемы

FOR /F %i IN ('DIR /B 2^>nul *.obj') DO (
    echo | set /P=%i:
    dumpbin /headers %i | findstr machine
)
person alex555    schedule 17.01.2013