Я пытаюсь выяснить, как напечатать список путей к файлам в папке вместе с сопровождающей их контрольной суммой и датой последнего изменения.
Я могу получить список путей к файлам и контрольных сумм:
Get-ChildItem -Recurse | Get-FileHash | Export-Csv -Path C:\Temp\ListOfHashes.csv
Я также могу получить список путей к файлам, контрольных сумм и даты последнего изменения:
Get-ChildItem -File -Recurse |
Select DirectoryName,Name,@{N='Version';E={$_.VersionInfo.ProductVersion}},LastWriteTime,Length,@{N='FileHash';E={(Get-FileHash $_).Hash}} | Export-Csv -Path c:\temp\test11.csv
Но странная вещь заключается в том, что первый скрипт (который просто печатает ha sh) имеет ha sh для каждого файла. Второй скрипт печатает путь к файлу, дату последнего изменения и ha sh, но не всегда включает ha sh. Кто-нибудь знает почему?
Я понял, в чем проблема: он не может написать ha sh, если файл открыт. Этот скрипт, как и приведенные ниже, все работает.
Редактировать: Филипп четыре ie добавление имеет решающее значение:
Get-ChildItem -File -Recurse |
Select DirectoryName,Name,@{N='Version';E={$_.VersionInfo.ProductVersion}},LastWriteTime,Length,@{N='FileHash'; E={(Get-FileHash -LiteralPath $_.FullName).Hash}} | Export-Csv -Path c:\temp \test789.csv`