Мне немного любопытно, что вы имеете в виду:
У меня есть поле, вставленное в документ Word, которое динамически обновляет время последнего редактирования файла.
Если вы копируете файл, его содержимое не изменяется, а LastWriteTime остается прежним,
, так почему вы хотите set
LastWriteTime до текущей даты и времени?
В соответствии с вашей попыткой копирования в cmd.exe вы пропустили две запятые, это должно сделать:
copy /b "C:\path\to\file\test\test.docx" + , , "C:\path\to\file\test2\test-%date:~-7,2%-%date:~-10,2%-%date:~-4,4% %time:~-11,2%%time:~-8,2%.docx"
Предложение PowerShell из моего комментария:
'C:\path\to\file\test\test.docx' |
Get-Item |
Copy-Item -Destination {'{0}\{1}-{2:MMddyyyy\ HHmm}{3}' -f `
$_.Directory, $_.Basename,
$_.LastWriteTime, $_.Extension} -WhatIf
Можно изменить, чтобы переименовать все файлы с добавлением даты и времени котражает действительное значение LastWriteTime
.
Get-ChildItem -File -Filter *.docx |
Where BaseName -Match '-\d{8} \d{4}$' |
Rename-Item -NewName {'{0}-{1:MMddyyyy\ HHmm}{2}' -f `
$_.Basename.Replace($Matches[0],''),
$_.LastWriteTime, $_.Extension} -WhatIf
Если NewName совпадает, Rename-Item игнорирует его.
В отличие от Copy-Item, Rename-Item не допускает каталог.