@i3core

Копирование атрибутов файлов(даты создания, изминения) из оригинала в копию?

Подскажите скрипт powershell который бы изменял даты создания и изменения файлов-копий взяв эту информацию из атрибутов других файлов(оригиналов), имена одинаковы, директории естественно разные, либо другая ситуация - копии имеют всего лишь другое расширение, но находятся в той же папке что и оригиналы.
  • Вопрос задан
  • 384 просмотра
Пригласить эксперта
Ответы на вопрос 2
@MaxKozlov Куратор тега PowerShell
Скопировать дату просто
$item2.LastWriteTime = $item1.LastWriteTime

то же самое с CreationTime и LastAccessTime

А вот сопоставление $item1 и $item2 - это отдельная задача
Можно в простейшем варианте (без подпапок) создать hashtable по ключу, в качестве ключа - имя файла
типа
$path1 = 'D:\1'
$items = %{}
Get-ChildItem -Path $path1 | Foreach-Object { $items[$_.basename] = $_ }
$path2 = 'D:\2'
Get-ChildItem -Path $path2 | Foreach-Object {
    if ($items.ContainsKey($_.basename)) {
       $_.LastWriteTime = $items[$_.basename].LastWriteTime
    }
}
Ответ написан
Комментировать
SignFinder
@SignFinder
Wintel\Unix Engineer\DevOps
Стандартного командлета под ваши условия в Powershell нет, а гуглить за вас и искать готовый, если он есть-я не буду.
1. Формируете список дубликатов файлов по именам типа так
spoiler
Get-ChildItem -Recurse -File |
Group-Object -Property Directory,BaseName |
Where-Object Count -gt 1 |
Select-Object Name

Здесь есть другие варианты - https://community.spiceworks.com/topic/1354430-get...
2. Делаете Get-ACL с одного файла и Set-ACL на второй
https://www.tutorialspoint.com/how-to-copy-ntfs-pe...
Понятно, что это упрощенная структура, так как задача описана нечетко.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы