実現したいこと
POWERSHELLで複数ファイル圧縮でエラーになるのを回避したい
前提
POWERSHELLでイベントログを抽出し、圧縮して保存するスクリプトを作成しています。その圧縮で以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
Compress-Archiveでエラーが発生します。
エラーメッセージ プロセスはファイルにアクセスできません。別のプロセスが使用中です。 ### 該当のソースコード
if($kensuflg -eq "TRUE"){
$inPath = $tmpfolder
$zipfile = $zipfolder + "" + $Env:COMPUTERNAME + "_" + $yyyymmdd
Get-ChildItem -Path $inPath -Recurse |
Compress-Archive -DestinationPath $zipfile -update
}else{
#ファイルが存在しない場合はこちらが実行されます。
$setmessage = "イベントログがありません。"
$outcomputer = $Env:COMPUTERNAME
eventlogwrt $EventSourceName $setmessage $outcomputer
}
試したこと
Compress-Archive -DestinationPath $zipfile -updateの次にstart-sleep 10を入れてみたり、圧縮対象のファイルがロックされていないかをチェックしたりしました。
補足情報(FW/ツールのバージョンなど)
WIN11では常に成功(エラーにならない)しますが、WIN10ではたまに成功するときがあります。(エラーになるときのほうが多い)
回答1件
あなたの回答
tips
プレビュー