![]() |
удалить лишние ссылки, если имена файлов совпадают
Здравствуйте, подскажите, как можно удалить лишние ссылки из txt файла. Лишние считаются, если имена файла, игнорируя разрешение совпадает. И такое условие.. если среди лишних ссылок есть та, в имени файла которой расширение mp4, то должна остаться именно эта ссылка, а удалиться та, которая с другим расширением.. А если они все с расширением mp4, то должна остаться только одна.. если нет лишних с mp4, то также должна одна остаться.
Пример: файл 1.txt Код:
https://k2s.cc/file/c7dert7de8/0301start.mp4 Код:
https://k2s.cc/file/579a1wer7c7/0301start.mp4 |
Powershell
Код:
$file = 'C:\Temp\1.txt' |
DJ Mogarych, спасибо, проверил на боевом файле, судя по другой программе очистилось больше ссылок, чем показывает программа ссылок с одинаковыми именами файлов (игнорируя расширение). Посмотрел, скрипт удаляет все ссылки (не только лишние), если нету не одной ссылки с mp4. например, если две ссылки с именами.расширениями 0215start.wmv, то они обе удалятся, и ни одной не останется, можно ли сделать, чтобы осталась одна (желательно самая нижняя, если это возможно).
-- Необходимо удалить только лишние (это если имена файла (ИГНОРИРУЯ РАСШИРЕНИЕ) совпадает), т.е. должно остаться по одной ссылки для каждого имени файла. У mp4 ссылок как бы приоритет: - если есть лишние ссылки и в них разные расширения, то остается только одна с mp4... если mp4 несколько, остается самая нижняя. - если есть лишние ссылки, но не в одной нету mp4, то остается только одна, самая нижняя. - если нету лишних ссылок, то с ссылкой ничего не происходит, не важно какое у ней расширение. |
в .net есть методы всякие разные
Код:
gc $file | % { |
поправил
|
спасибо, оба скрипта работают, все как хотел :)
|
Время: 19:44. |
Время: 19:44.
© OSzone.net 2001-