у меня есть файлы с камеры GoPro Fusion
которые представляют собой изображения и фильмы.
Имена похожи
GP (for “GoPro”) (two more letters of no particular significance) (a series of digits; maybe four or six digits) . (a period) (an extension)
некоторые из расширений являются общими,
как JPG
,MP4
и WAV
; другие являются редкостью.
Некоторые примеры имен файлов GPFR0000.jpg
,GPBK0000.jpg
,GPFR0000.gpr
,GPFR1153.MP4
,GPFR1153.THM
и GPBK142857.WAV
.
Но расширения не имеют отношения к этому вопросу.
для каждого изображения и видео есть набор файлов
имена которых имеют такую же серию десятичные знаки
прямо перед продлением.
Так, например, GPFR1153.LRV
и GPBK1153.MP4
принадлежат к одному набору.
я хочу, чтобы все файлы из каждого набора были сгруппированы в каталог
которого зовут GP
последовал ряд цифр.
Например, если у меня
GPFR0000.jpg
GPBK0000.jpg
GPFR0000.gpr
GPFR0000.gpr
GPFR1153.LRV
GPFR1153.MP4
GPFR1153.THM
GPBK1153.WAV
GPBK1153.MP4
GPQZ142857.FOO
все в одном каталоге, результат должен быть
GP0000GPFR0000.jpg
GP0000...
GP1153GPFR1153.LRV
GP1153GPFR1153.MP4
GP1153...
GP142857GPQZ142857.FOO
возможно ли это с помощью скрипта (для Windows 10)?
Я нашел этот (PowerShell) скрипт mousio на
рекурсивно перемещать тысячи файлов в подпапки windows,
но это решает немного другую проблему,
и я хотел был бы помочь приспособить его к моим требованиям
(Я художник, а не программист).
# if run from "P:Gopro18", we can get the image list
$images = dir *.jpg
# process images one by one
foreach ($image in $images)
{
# suppose $image now holds the file object for "c:imagesGPBK1153.*"
# get its file name without the extension, keeping just "GPBK1153"
$filenamewithoutextension = $image.basename
# group by 1 from the end, resulting in "1153"
$destinationfolderpath =
$filenamewithoutextension -replace '(....)$','$1'
# silently make the directory structure for "1153 GPBK1153"
md $destinationfolderpath >$null
# move the image from "c:images34567890.jpg" to the new folder "c:images470"
move-item $image -Destination $destinationfolderpath
# the image is now available at "P:Gopro1853GPBK1153.*"
}