Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Выбрать папки с большим номером и скопировать их.

Ответить
Настройки темы
CMD/BAT - Выбрать папки с большим номером и скопировать их.

Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день. Прошу вас помочь с задачей.

Есть набор папок
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 игнорировать.

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

Отправлено: 13:40, 02-08-2022

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


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, чтобы реально копировало.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Последний раз редактировалось DJ Mogarych, 02-08-2022 в 16:55. Причина: более универсальная сортировка по именам

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:42, 02-08-2022 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


Супер! все работает! СПАСИБО!

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

Отправлено: 21:00, 02-08-2022 | #3


Ветеран


Сообщения: 542
Благодарности: 35

Профиль | Сайт | Отправить PM | Цитировать


Цитата sserg18:
такое возможно на CMD? »
можно.... set юзать да for /f "tokens=2 delims=-" ...

-------
консольный клиент telegram для Windows: www.elapser.info


Отправлено: 12:22, 10-08-2022 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Выбрать папки с большим номером и скопировать их.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - Скопировать bat файлы изменив в них текст, взятый их txt документа Alexander_88 Скриптовые языки администрирования Windows 2 15-02-2016 14:26
CMD/BAT - Найти все файлы с буквой и скопировать их trancef Скриптовые языки администрирования Windows 1 16-12-2011 06:55
VBS/WSH/JS - [решено] Надо скопировать файлы из одной папки в другую, но только если их нет в третьей rromms Скриптовые языки администрирования Windows 3 11-09-2011 21:42
CMD/BAT - [решено] выбрать, заархивировать, скопировать Hrust2010 Скриптовые языки администрирования Windows 21 08-02-2011 02:55
CMD/BAT - [решено] Как организовать вызов bat с большим количеством переменных и их обработку? seriych Скриптовые языки администрирования Windows 13 27-01-2011 15:48




 
Переход