Лучший отвечающий
Удаление всех файлов кроме новых

Вопрос
-
Доброго время суток!
Как после копирования оставить файл с последней датой и временем, а все остальные соответсвенно удать
Напимер 2 файла, 1 создан в 11:01, 2 создан в 11:03 его нужно оставить, а со временем 11:01 удалить
Move-Item -force C:\test1\050001*.IG -Destination c:\test2
28 августа 2017 г. 17:40
Ответы
-
$currfiles = Get-ChildItem "C:\test1" | ?{ $_.Name -like "050001*.IG" }; $distDir = "c:\test2"; foreach ($file in $currfiles) { $fileOnDistName = [System.IO.Path]::Combine($distDir, $file.Name); if ([System.IO.File]::Exists($fileOnDistName)) { $currFileLastWr = $file.LastWriteTime; $distFileLastWr = (Get-Item $fileOnDistName).LastWriteTime; if ($currFileLastWr > $distFileLastWr) { Move-Item -force $file.FullName -Destination $distDir } } else { Move-Item -force $file.FullName -Destination $distDir } }
Примерно так.- Помечено в качестве ответа Pokesh 30 августа 2017 г. 1:41
29 августа 2017 г. 6:10 -
1) копируем
2) удаляем:
dir c:\test1\050001*.IG | sort -Property LastWriteTime| select -SkipLast 1| del -WhatIf
my blog: http://shserg.ru/
- Помечено в качестве ответа Pokesh 13 сентября 2017 г. 5:00
9 сентября 2017 г. 7:46
Все ответы
-
$currfiles = Get-ChildItem "C:\test1" | ?{ $_.Name -like "050001*.IG" }; $distDir = "c:\test2"; foreach ($file in $currfiles) { $fileOnDistName = [System.IO.Path]::Combine($distDir, $file.Name); if ([System.IO.File]::Exists($fileOnDistName)) { $currFileLastWr = $file.LastWriteTime; $distFileLastWr = (Get-Item $fileOnDistName).LastWriteTime; if ($currFileLastWr > $distFileLastWr) { Move-Item -force $file.FullName -Destination $distDir } } else { Move-Item -force $file.FullName -Destination $distDir } }
Примерно так.- Помечено в качестве ответа Pokesh 30 августа 2017 г. 1:41
29 августа 2017 г. 6:10 -
Я не очень дружу с Robocopy, но мне кажется там есть такие варианты и проще.29 августа 2017 г. 6:12
-
Daniil, спасибо за ответ, я ожидал что то более простое :)
Ребята может кто по проще вариант может предложить?
30 августа 2017 г. 1:42 -
1) копируем
2) удаляем:
dir c:\test1\050001*.IG | sort -Property LastWriteTime| select -SkipLast 1| del -WhatIf
my blog: http://shserg.ru/
- Помечено в качестве ответа Pokesh 13 сентября 2017 г. 5:00
9 сентября 2017 г. 7:46