Как я могу скопировать каждый 4-й файл в папке в новую папку?
Я экспортирую анимацию в виде файлов изображений PNG. Из 1199 экспортированных последовательностей кадров только каждый 4-й файл содержит ключевой кадр, остальные файлы изображений являются точными копиями предыдущего.
Как я могу скопировать только 4-й файл в новую папку?
file-20000.png - Copy
file-20001.png - Duplicate of file-20000
file-20002.png - Duplicate of file-20000
file-20003.png - Duplicate of file-20000
file-20004.png - Copy
file-20005.png - Duplicate of file-20004
file-20006.png - Duplicate of file-20004
file-20007.png - Duplicate of file-20004
file-20008.png - Copy
2 ответа
Используйте цикл FOR /L и установите начало 0
, шаг к 4
и конец 1200
что на один больше, чем 1199
числовые последовательности частей имени файла, которые вам нужны только для копирования четвертого файла.
Это будет повторять числа, начиная с 0
собирается из 0, 4, 8, .... 1196
считая на 4, вы можете добавить повторяющееся значение в виде строки, объединенной в пределах части имени файла вместе с маской с подстановочными знаками и использовать ее с xcopy для соответствующего копирования каждого 4-го файла.
Пакетный скрипт
Примечание. Эта логика предполагает, что имена файлов всегда начинаются с "file-2" и всегда заканчиваются порядковыми номерами непосредственно перед точкой перед расширением. png
(т.е. <SeqNum>.png
)
@ECHO ON
SET SrcDir=C:\folder\src
SET DestDir=C:\folder\dest
SET fNamePart=file-2
SET ext=png
FOR /L %%a IN (0, 4, 1200) DO (
ECHO F | XCOPY /Y /F "%SrcDir%\%fNamePart%*%%a.%ext%" "%DestDir%\"
)
PAUSE
EXIT
Дополнительные ресурсы
Если все файлы, которые вы хотите иметь Copy
в их именах, и все файлы, которые вы не хотите, не имеют Copy
в их именах, то вы можете использовать *Copy*
, как в
копировать * копировать * DestinationDirectoryили использовать
*copy*
, поскольку Windows нечувствительна к регистру. Если все файлы, которые вы хотите иметь Copy
в конце их имен вы можете использовать *Copy
вместо этого (оставив *
в конце). Вы можете использовать шаблоны имен файлов в проводнике Windows, набрав file:*copy*
в поле поиска.