Outlook 2013 VbaProject.OTM ファイルを運用ディレクトリからバックアップ ディレクトリにコピーし、現在の日時のファイル名サフィックスを追加してバックアップする PowerShell 4 スクリプトを作成しました。コピーされたバージョンには、VbaProject.OTM が最初に保存されたときの変更日時が含まれています。バックアップ ファイルの Date Modified プロパティを現在の日時に変更する方法を見つけようと、午前中ずっと投稿を調べていましたが、試したことはすべてエラー メッセージで終わります。これを実現する簡単な方法はありますか?
# FD_VBA_Backup.ps1
$date = get-date -format "MMddyyyy HHmm"
$fnft = "VbaProject - " + $date + ".OTM"
$source = "C:\Users\OCCReportManager\AppData\Roaming\Microsoft\Outlook\VbaProject.OTM"
$dest = "D:\FD Automation VBA Backups\" + $fnft
copy-item $source $dest # results in eg. "VbaProject - 07202015 0936.OTM"
空のファイルを作成して日付プロパティを設定する方法についての同様の質問がありました。私の質問に対する解決策も 1 行で記載されていましたが、見つけるのは簡単ではありませんでした。他の質問のタイトルからは、新しいファイルを作成するのではなく、既存のファイルの日付を変更する必要があるため、解決策がその中に見つかるかどうかは明らかではありません。参照: PowerShell で空のファイルを作成するための Linux の `touch` と同等のものはありますか?。
答え1
@DavidPostill の功績による:
# FD_VBA_Backup.ps1
$date = get-date -format "MMddyyyy HHmm"
$fnft = "VbaProject - " + $date + ".OTM"
$source = "C:\Users\OCCReportManager\AppData\Roaming\Microsoft\Outlook\VbaProject.OTM"
$dest = "D:\FD Automation VBA Backups\" + $fnft
copy-item $source $dest # results in eg. "VbaProject - 07202015 0936.OTM"
(Get-ChildItem $dest).LastWriteTime = Get-Date