После изменения существующего файла я хотел бы узнать, было ли программное обеспечение, использованное для изменения файла, создано и сохранено новый файл (исключая старый) или изменило исходный файл.
В настоящее время я использую PowerShell с Get-ChildItem :
Get-ChildItem D: -Force | Select-Object Name, CreationTime, LastWriteTime, Length
. Это работает, только если рассматриваемое программное обеспечение не применяет оригинал CreationTime
вновый файл. Если это так (, как, например, в Excel при редактировании существующих файлов ), результат будет выглядеть одинаково, независимо от того, был ли изменен исходный файл или создан новый файл. Я подумал, что мог бы использовать для этого идентификатор объекта , но мне не удалось реализовать его с помощью Power Shell, так как он показывает идентификатор объекта файла, я что-то пропустил в свойствах или мне вообще нужно использовать другую команду?
Использование -Property *
для отображения всех свойств, вроде как говорит мне, что я нахожусь на неправильном пути в целом (это не дает мне никакого пригодного для использования свойства, по крайней мере, не для моего варианта использования):
Get-ChildItem D: -Force | Select-Object -Property *
Событие I использовало свойство ID , которое, конечно, не работало для файловых объектов. Теоретически я мог получить идентификатор файла из журнала USN NTFS, но в моем случае использования, к сожалению, журнал деактивирован на диске, содержащем файл.