お世話になっております。
Powershellで、ある作業フォルダにあるファイル一覧を取得しHash一覧を作成して、ハッシュ値とフルパスの一覧をcsv出力するまでは成功できましたが、サイズと更新日の値を取得することに苦心しています。
下記の通り、列を作成しましたが、Size, Dateがブランクのままです。
Select Hash, Patch, Size, Date
重複ファイルのサイズ(MB)と更新日(YYYYMMDD)を取得し、Exportした一覧に表示するよう改修したく、アイデアありましたら教えて頂けますでしょうか。
以下PowershellのVersionになります。
PS D:\work> $PSVersionTable
Name Value
PSVersion 5.0.10586.117
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.10586.117
CLRVersion 4.0.30319.36415
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
こちらが実際のコードになります。
# ワーキングディレクトリ設定/ファイル一覧対象ディレクトリルート設定/タイムスタンプ取得 $wDir = "D:\work" $lRoot = "D:\work\test" $fTimeStamp = Get-Date -Format "yyyyMMdd-hhmmss" # ワーキングディレクトリへ移動 cd $wDir # ファイル一覧情報取得 Write-Host (Get-Date) Write-Host Getting File List ... $fList = Get-ChildItem -Path $lRoot -Recurse | Where-Object {$_.Length -ge 1MB} $lCount = $fList.count # Hash一覧作成 $fPath = ".\"+$fTimeStamp+"_Hashlist.csv" Write-Host $fPath for ($i = 0;$i -lt ($lCount);$i++){ $pPer=$i/($lCount - 1)*100 Write-Progress -Activity "Hash一覧作成中" ` -PercentComplete $pPer ` -CurrentOperation "$lCount : $pPer% complete" ` -Status "しばらくお待ちください。" $fList[($i)] | ` Get-FileHash -Algorithm MD5 | ` Select Hash,Path,Size,Date | ` Export-CSV -NoTypeInformation -Path $fPath -Append } # Hash一覧データレコード数取得 $fRecord=(Import-Csv -Path $fPath).Length # ファイル件数,Hashレコード数比較 IF ($lCount -eq $fRecord){ Write-Host Match Record Count. Complete. } ELSE { Write-Host Not Match Record Count. Error. } Read-Host "Press Any Key"

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。