YuS_2
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору i81 Цитата: Чем я тут не корректно поставил задачу? Есть папка с файлами нужно найти пару файлов удовлетворяющих условию частичного совпадения имени ( {имя}.jpg {имя}-{приставка}.jpg | Ну, вот смотри, подойдет ли под такой шаблон вот это имя: измененный-20140118_120044.jpg ? В общем, если префикс или суффикс, только в таком виде бывают: "измененный-....jpg" или "...-измененный.jpg", тогда код будет таким: Код: function get-dubldigitname { param ( [parameter(mandatory=$true,valuefrompipeline=$true)] $source ) process { if($source.basename -match $pattern){ $a = $source.basename -replace $pattern dir "$folder" -inc $flt -rec -file| ? name -match $a|sort length -d|select -skip 1 } } } $folder = '1' $flt = '*.jpg' $pattern = 'измен[её]нный-|-измен[её]нный' ($arr = dir "$folder" -inc $flt -rec -file)|get-dubldigitname |del | Но, что-то мне подсказывает, что найдутся таки дубликаты и без таких суффиксов или префиксов... Добавлено: i81 КОД ИЗМЕНЁН, проверьте ещё раз Добавлено: i81 Цитата: Теперь смотри, сразу предупреждаю: Код работает строго по твоему ТЗ, но может случиться такая ситуация: Цитата: name1234-измененный.jpg name1234.jpg name123456.jpg измененный-name123456.jpg | - для скрипта, это будут дубликаты ОДНОГО файла, из которых останется только один. В том смысле, что ТЗ неполное... надо бы уточнение для такой ситуации. Файлы с суффиксом и префиксом существуют только в единственном экземпляре или возможно существование дубликатов более одного? И вообще, в принципе, дублей может быть больше одного, либо только парами существуют? | Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 08:36 30-10-2019 | Исправлено: YuS_2, 09:24 30-10-2019 |
|