![]() |
Заменить ссылки в txt файле, найдя одинаковые номера
Здравствуйте, подскажите как сделать такое на powershell или bath ?
есть несколько txt файлов.. в каждом txt ссылки одного из нескольких типов.. пример одного из типов: Код:
https://google.com/file/6c616b50641a8/0001start.mp4 Но как я говорил в одном txt файлы только какого - нибудь одного типа, необходимо либо несколько скриптов под разные типы файлов, либо один универсальный (если это возможно). Теперь к тому, что должен делать скрипт :) в каждом txt файле список ссылок, в конце которых есть имя файла... в составе имени файла обязательно есть номер, состоящий из 4ех цифр... номер этих цифр идет по порядку, начиная с 0001 (0001 - первая ссылка, 0002 - вторая ссылка, 0003 третья ссылка и т.д.). В какой то момент порядок нарушается, и идут ссылки, которые должны заменить тех, что выше (находить тех, которых заменить нужно по номеру), ссылка должна замениться полностью. Другими словами нужно выполнить замену ссылок со старых на новые.. старые выше, новые ниже, определять по 4ех значному номеру в имени файла. За место старых ссылок должны встать новые, а новые со своих мест (снизу) удалиться. Дубликатов в новых ссылках не будет, номера у них будут разные.. такие же номера 100% будут в старых ссылках. txt файлы должны заменится на новые после применения скрипта. Из примера выше, после применения скрипта, txt файл должен стать таким.. Код:
https://google.com/file/6c616b50641a8/0001start.mp4 |
Нужно проверить, сравнить list-in.txt и list-out.txt, но вроде все корректно
Код:
[uri[]] $urls = Get-Content list-in.txt |
Цитата:
и вопросик. если мне нужно таким образом проверить 50 txt файлов, и заменить оригиналы, на то, что результировал скрипт, нужно так делать? Код:
[uri[]] $urls = Get-Content list-in.txt |
Цитата:
Код:
[uri[]] $urls = gc list-in.txt Цитата:
Код:
$files = dir *.txt # Ваши *.txt файлы |
Цитата:
Цитата:
|
Цитата:
|
Foreigner, попробовал второй вариант, но как будто бы ничего не поменялось.. также зависит от имени и расширения а не только от номера.. т.е. заменяет, если полностью совпадает имя файла (номер имя и расширение) :dont-know
|
Код:
@Echo Off &Cls Папки могут и совпадать A если пути файлов разные для каждого пишем свой Call :MyDir |
megaloman, спасибо, попробовал, теперь расширение и имя игнорирует как и нужно, только дольше обрабатывает :) 1 файл для теста попробовал (800 ссылок), и почему то сбивает сортировку..
все выводится не по порядку по номерам.. к примеру первые 5 строк с номерами файлов: 0625 0002 0628 0004 0102 |
Цитата:
|
Вложений: 1
Alexander_88, чтобы быстро и с сортировкой по возрастанию - vbs
Код:
Option Explicit |
а куда выходит результирующий файл? или он заменяется?
Код:
Option Explicit |
Вложений: 1
Цитата:
Такой файл имеется? Тут архив тестового комплекта. На нём работает. Вот вариант скрипта с проверкой существования файла(ов)
Код:
Option Explicit Результирующий файл заменяется. Иное делается "на раз". |
megaloman, спасибо, все получилось, заменяет 800 ссылок очень быстро :)
|
Время: 23:58. |
Время: 23:58.
© OSzone.net 2001-