次のコードを使用して、7zipを使用していくつかのファイルを圧縮しています。Powershell 7zipファイルの整合性チェック
$filePath = "c:\test"
$txt = Get-ChildItem -Recurse -Path $filePath | Where-Object { $_.Extension -eq ".txt" }
$limit = (Get-Date).AddDays(-30)
if (-not (test-path "$env:C:\Program Files\7-Zip\7z.exe")) {throw "$env:Program Files (x86)\7-Zip\7z.exe needed"}
set-alias sz "$env:ProgramFiles\7-Zip\7z.exe"
Get-ChildItem -Path $filePath -Recurse -Force | Where-Object { !$_.PSIsContainer -and $_.CreationTime -lt $limit } | Remove-Item -Force
foreach ($file in $txt) {
$name = $file.name
$directory = $file.DirectoryName
$zipfile = $name.Replace(".txt",".zip")
sz a -mx=9 "$directory\$zipfile" "$directory\$name"
}
私はそれをzip形式で圧縮された後、ファイルの整合性をチェックし、私はそれを開くことができることを確認する必要があります。これらはかなり大きいファイルで、解凍する必要はありません。確認するだけです。
7z t somearchive.zip
しかし、それは返すすべてがこのようなものです:私は、ファイルをチェックしたら、私が扱うことができることを、別のフォルダに移動されます
"c:\program files\7-zip\7z" t somefile.7z
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Processing archive: douglas.cx.txt.7z
Testing somefile.txt
Everything is Ok
Size: 761
Compressed: 492
私は、このコマンドを発見しました。 7zipによって返されるテキストをどうすればいいのか分かりません。
何か助けていただければ幸いです。
私は、最も簡単な方法は7-Zipの終了コードをチェックすることだと思います。 *すべてがok *の場合はゼロになります。 – PetSerAl