Объединение анализа MD5 с именем файла в одном выводе

Я изо всех сил пытаюсь объединить вывод двух команд в один файл CSV / TXT.

Первая команда - рекурсивный поиск в папке и создание номера MD5 для каждого документа. Затем он экспортируется в файл CSV, который включает полный путь.

dir -recurse | Get-FileHash -Algorithm MD5 | Export-CSV MD5ofFolder.csv

Вторая команда должна получить все имена файлов в папке (и подпапках) БЕЗ, включая любые пути:

get-childitem -recurse|foreach {$_.name} > filename.txt

В идеальном мире я мог бы экспортировать один документ CSV или TXT, который содержит значения MD5, полный путь и имя файла (с расширением).

Я отмечаю, что моя вторая строка кода также выводит имена папок в выводе, что нежелательно. Я могу произвести вывод текста без имен папок, но код уродлив, и он не делает то, что я хочу:

dir -recurse | Get-FileHash -Algorithm MD5 | dir -recurse | foreach {$_.name} > filename.txt

Я уверен, что это простая проблема для кого-то умнее меня, поэтому любая помощь будет принята с благодарностью - я ОЧЕНЬ новичок в PowerShell.

1 ответ

Решение

Добавьте имя к выводу из Get-FileHash с Select-Object и рассчитанное свойство:

dir -recurse |Get-FileHash -Algorithm MD5 |Select-Object Hash,Path,@{Name='Name';Expression={[System.IO.Path]::GetFileName($_.Path)}} |Export-Csv filename.csv

Теперь у вас есть все в одном CSV

Другие вопросы по тегам