Скрипт PowerShell 4 для Win Server 2012 для копирования, переименования и изменения файла

Скрипт PowerShell 4 для Win Server 2012 для копирования, переименования и изменения файла

Я создал скрипт PowerShell 4 для резервного копирования файла Outlook 2013 VbaProject.OTM, скопировав его из рабочего каталога в резервный каталог и добавив суффикс текущей даты и времени в качестве имени файла. Скопированная версия имеет измененную дату и время первого сохранения 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"

Был похожий вопрос о том, как создать пустой файл и задать свойство даты. Решение моего вопроса также было там в одной строке, но его было нелегко найти. Заголовок другого вопроса не делает очевидным, что решение можно найти внутри, так как мне нужно изменить дату в существующем файле, а не создать новый файл. Ссылка: Эквивалент `touch` в Linux для создания пустого файла с помощью PowerShell?.

решение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

Связанный контент