исключить файлы для максимальной даты последнего изменения - PullRequest
0 голосов
/ 23 июня 2018

файлы должны быть перемещены из четырех папок ... как использовать логику для исключения файлов на максимальную дату последнего изменения в этой

robocopy D:\ven\one1\  D:\ven\one\two1\ /MOVE /xd D:\ven\one\ven_program_kl

для примера

file1 last modified date:6/19/18 20:00
file2 last modified date:6/8/18 20:00

в этом случае исключить файл1 и file2 для перехода на D:\ven\one\two1 folder .... нужен простой код спасибо

1 Ответ

0 голосов
/ 23 июня 2018

Это достаточно просто в PowerShell.Сохраните следующий код в файле, например keeplast.ps1.

. Непонятно, почему вы используете параметр / XD.

Сортировка по убыванию LastWriteTime с последующим пропуском первой записи приведет кпроизвести другие имена файлов.Когда вы убедитесь, что правильные шаги будут выполнены, удалите -WhatIf из командлета Move-Item.

$sourcedir = 'C:\src\t'
$destdir = $Env:TEMP

Get-ChildItem -File -Path $sourcedir |
    Sort-Object -Property LastWriteTime -Descending |
    Select-Object -Skip 1 |
    Move-Item -Destination $destdir -WhatIf

Если вам нужно запустить его из оболочки cmd, используйте:

powershell -NoProfile -File .\keeplast.ps1

При необходимости можно создать скрипт файла .bat.

@ECHO OFF
powershell -NoProfile -File .\keeplast.ps1
EXIT /B
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...