파일 복사, 이름 바꾸기 및 터치를 위한 Win Server 2012 PowerShell 4 스크립트

파일 복사, 이름 바꾸기 및 터치를 위한 Win Server 2012 PowerShell 4 스크립트

Outlook 2013 VbaProject.OTM 파일을 프로덕션 디렉터리에서 백업 디렉터리로 복사하고 현재 날짜 및 시간의 파일 이름 접미사를 추가하여 백업하는 PowerShell 4 스크립트를 만들었습니다. 복사된 버전에는 VbaProject.OTM이 처음 저장된 날짜와 시간이 수정되었습니다. 나는 오전 내내 백업 파일의 수정 날짜 속성을 현재 날짜와 시간으로 변경하는 방법을 알아내려고 게시물을 조사했지만, 내가 시도한 모든 것은 오류 메시지로 끝났습니다. 이 작업을 수행하는 간단한 방법이 있습니까?

# 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"

빈 파일을 만들고 날짜 속성을 설정하는 방법에 대한 비슷한 질문이 있었습니다. 내 질문에 대한 해결책도 한 줄에 있었지만 찾기가 쉽지 않았습니다. 다른 질문의 제목으로 인해 새 파일을 만드는 것이 아니라 기존 파일의 날짜를 변경해야 하기 때문에 솔루션을 찾을 수 있다는 것이 명확하지 않습니다. 참조: 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

관련 정보