Есть ли способ получить метаданные файла из командной строки в Windows XP и выше?
В частности, я заинтересован в том, чтобы получить информацию, которую обычно можно увидеть на вкладке «Сведения» диалогового окна «Свойства» файла в Windows 7. (вкладка «Версия» в XP.) Ниже приведены снимки обоих экранов, чтобы дать представление о них. из того, что я после.
Если возможно, я бы предпочел сделать это через cmd.exe
или что-то еще, что стандартно поставляется с Windows XP SP3 и выше. Если это невозможно, я бы предпочел:
- PowerShell
- Утилита SysInternals
- Утилита Nirsoft
- Некоторый другой инструмент от столь же уважаемого и общепризнанного разработчика.
Скриншот Windows XP:
Скриншот Windows 7:
FILEVER
с компакт-диска Windows.FILEVER
не включены в эти компакт-диски, и поэтому не могут быть поддерживаемым инструментом для этих версий.Ответы:
Вы можете использовать WMIC.exe, чтобы получить большую часть пути:
Обратите внимание на обратную косую черту
\
в пути (иначе это не работает).источник
wmic : Unexpected switch at this level.
на W81, то же самое для Iszi soulution.То, что вы ищете, можно получить с помощью комбинации dsofile.dll (не требуется, если у вас установлен Office) и autoit или любого языка .NET.
Я также нашел метод powershell , но я не смог его протестировать.
Я написал небольшой скрипт с autoit, который все еще нуждается в доработке. Я нахожусь на Vista, и я не могу заставить несколько вызовов dsofile.dll функционировать так, как я ожидал, хотя он по-прежнему обеспечивает некоторый вывод, который может вас заинтересовать. Я буду работать над этим больше утром, когда у меня будет доступ на XP и win7 VM. Обратите внимание, что вам нужно изменить путь в функциях DLL, куда бы вы ни устанавливали dsofile.dll.
источник
Просто чтобы расширить ответ @bobbymcr выше (который я нашел очень полезным, спасибо!); Вы можете упростить команду и расширить результаты с помощью параметров
LIST BRIEF
илиLIST FULL
.Проверьте
> wmic datafile list /?
для более подробной информации.Это решение помогло мне:
> wmic datafile "c:\\path\\to\\file.exe" list full
Примечание: как упомянуто @bobbymcr, не забывайте избегать
\
, иначе это не будет работать.источник