PDA

Показать полную графическую версию : Выбрать папки с большим номером и скопировать их.


sserg18
02-08-2022, 13:40
Добрый день. Прошу вас помочь с задачей.

Есть набор папок
AAAA-1
AAAA-2
AAAA-3
BBBBB-12
BBBBB-13
BBBBB-14
CCCCCC-52
CCCCCC-52_Old
CCCCCC-53
CCCCCC-54
CCCCCC-55
DDD-106
DDD-107
DDD-108
Необходимо выбрать папки с большими номерами (AAAA-3 BBBBB-14 CCCCCC-55 DDD-108) и скопировать их соотвественно в AAAA BBBBB CCCCCC DDD. Папки типа CCCCCC-52_Old игнорировать.

Зарание благодарен.

DJ Mogarych
02-08-2022, 16:42
Powershell:

$source = "D:\temp\123"
$destination = "D:\temp\456"

dir $source |? {$_.psiscontainer -and $_.name -notmatch "_old$"} |group {$_.name -replace "-\d+$"} |% {
cp "$((($_.group |sort {[int]($_.name -replace '.+-(\d+)$','$1')})[-1]).fullname)" "$destination\$($_.name)" -Recurse -WhatIf
}

Уберите -WhatIf, чтобы реально копировало.

sserg18
02-08-2022, 21:00
Супер! все работает! СПАСИБО!

Так для интереса, такое возможно на CMD?

Опиум
10-08-2022, 12:22
такое возможно на CMD? »
можно.... set юзать да for /f "tokens=2 delims=-" ...




© OSzone.net 2001-2012