日次でファイルのアーカイブしなきゃいけなくなったので作成したPowershell
FileArchiveList.confを用意
以下ソースー----------------------
#定期的にフォルダをZIP化して対比しておくソース
#イベントログを書き出す関数
function writeEventlog([String]$LEVEL, [String]$MESSAGE){
}
$deletetime = Get-Date
$nametime = Get-Date -UFormat "%Y%m%d"
#対象フォルダリスト
$ConfFile = "C:\Users\user\Desktop\wk\20220630\FileArchiveList.conf"
#zipファイルの移動先フォルダ
$movepath = "C:\Users\user\Desktop\wk\20220630\moveTo"
#0:正常、1:異常
$SHELLRET = 0
#main
writeEventlog "INFO" ("start")
writeEventlog "INFO" ("ConfigFile=" + $ConfFile)
#対象フォルダリスト読み込み
$ArchiveList = Get-Content $ConfFile
foreach($Confline in $ArchiveList){
if($Confline -match "^$"){ continue }
if($Confline -match "^#"){ continue }
try{
#コピーフォルダ
$copypathFrom = $Confline
$copypathTo = $copypathFrom + "_" + $nametime
$copypathToZip = $copypathTo + ".zip"
$copypathToDummyFile = $copypathTo + "\" + $nametime
#フォルダコピー
Copy-Item $copypathFrom -destination $copypathTo -recurse
echo $copypathToDummyFile
#ダミーファイル作成
Out-File $copypathToDummyFile
#ZIP圧縮
Compress-Archive -Path $copypathTo -DestinationPath $copypathToZip
#フォルダ削除
Remove-Item -Path $copypathTo -Recurse
#zipファイル移動
Move-Item $copypathToZip $movepath
#古いファイル削除
Get-ChildItem -Path $copypathFrom -Recurse | Where-Object{$_.LastWriteTime -lt $deletetime} | Remove-Item -Force #-WhatIf
}catch{
writeEventlog "ERROR" ("Archive error. RET=" + $RET_CMD + " Exception=" + $_.Exception)
$SHELLRET = 1
}
}
exit $SHELLRET