Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] добавление не достающих ссылок следуя нумерации (http://forum.oszone.net/showthread.php?t=349930)

Alexander_88 02-11-2021 10:37 2970388

добавление не достающих ссылок следуя нумерации
 
Здравствуйте … Подскажите, как можно добавить недостающие ссылки следуя нумерации, то есть добавить те номера, которые отсутствуют.

Пример:

есть txt файл с ссылками:

Код:

https://k2s.cc/file/74gsjddf53/0001start.mp4
https://k2s.cc/file/f0bmfg86d/0002start.mp4
https://k2s.cc/file/82cdsfgs7879/0003start.mp4
https://k2s.cc/file/2ca5fj414b6/0004start.mp4
https://k2s.cc/file/a2bfgjfs0dbf1/0005start.mp4
https://k2s.cc/file/484df773a/0006start.flv
https://k2s.cc/file/56cdfdabd7/0007start.flv
https://k2s.cc/file/613bdgdfg632/0009start.mp4
https://k2s.cc/file/e95bdfhdfha2557/0010start.mp4
https://k2s.cc/file/df3f1vcj74f2/0011start.mp4
https://k2s.cc/file/0c7erert450f6/0012start.mp4
https://k2s.cc/file/bd9srtey50f7a/0013start.mp4
https://k2s.cc/file/bbb8fgj22c7d1/0014start.mp4
https://k2s.cc/file/c5b0awet3652/0015start.mp4
https://k2s.cc/file/a3c83fgj0abd4/0016start.mp4
https://k2s.cc/file/4328aj34bd5f2/0017start.mp4
https://k2s.cc/file/90fb6sj6187/0018start.mp4
https://k2s.cc/file/055xn72ec7db/0019start.mp4
https://k2s.cc/file/e27xxn6b45f/0020start.mp4
https://k2s.cc/file/1804xn6fad3/0021start.mp4
https://k2s.cc/file/a47d4xxn9d8c/0022start.mp4
https://k2s.cc/file/89dnxbc13b/0024start.mp4
https://k2s.cc/file/9cesf0bh163/0025start.mp4
https://k2s.cc/file/5bs2fgh65e98b/0026start.mp4
https://k2s.cc/file/daach76d0efdeb/0027start.mp4
https://k2s.cc/file/be4cj8b4ee6f8e/0029start.mp4
https://k2s.cc/file/764ffgh819eaa5/0030start.mp4
https://k2s.cc/file/ff5bd6fgh6d4c7/0031start.mp4
https://k2s.cc/file/9d22adfg0d34e/0032start.mp4
https://k2s.cc/file/7438gfjfe5d5a2/0033start.mp4
https://k2s.cc/file/b532sdg7141b5/0036start.mp4
https://k2s.cc/file/c575df1616937/0037start.mp4
https://k2s.cc/file/a4a46fgj6e1f424/0038start.mp4
https://k2s.cc/file/2332dfha124a61/0039start.mp4
https://k2s.cc/file/40cbsdg65a8737/0040start.mp4
https://k2s.cc/file/ee6dfh4c8408/0041start.mp4
https://k2s.cc/file/93cvh46f6aa0/0042start.mp4
https://k2s.cc/file/302ert64dbf64/0043start.mp4
https://k2s.cc/file/1c49bsdf969/0044start.mp4
https://k2s.cc/file/d8360sdf6710/0045start.mp4

Номера будем смотреть в имени файлах в ссылках (в конце ссылки). Необходимо определять номер самой верхней ссылки и номер самой нижней ссылки (это будет самый минимальный и самый максимальный номер). Далее нужно определить Какие номера отсутствуют. В данном примере отсутствуют номера: 8, 23, 28, 34, 35. Скрипт должен добавить недостающие ссылки с пропущенными номерами, расширение поставить mp4, а вместо id ссылки написать "delete link".

Если применить скрипт к вышеуказанному примеру, то результат должен быть такой:

Код:

https://k2s.cc/file/74gsjddf53/0001start.mp4
https://k2s.cc/file/f0bmfg86d/0002start.mp4
https://k2s.cc/file/82cdsfgs7879/0003start.mp4
https://k2s.cc/file/2ca5fj414b6/0004start.mp4
https://k2s.cc/file/a2bfgjfs0dbf1/0005start.mp4
https://k2s.cc/file/484df773a/0006start.flv
https://k2s.cc/file/56cdfdabd7/0007start.flv
https://k2s.cc/file/delete link/0008start.mp4
https://k2s.cc/file/613bdgdfg632/0009start.mp4
https://k2s.cc/file/e95bdfhdfha2557/0010start.mp4
https://k2s.cc/file/df3f1vcj74f2/0011start.mp4
https://k2s.cc/file/0c7erert450f6/0012start.mp4
https://k2s.cc/file/bd9srtey50f7a/0013start.mp4
https://k2s.cc/file/bbb8fgj22c7d1/0014start.mp4
https://k2s.cc/file/c5b0awet3652/0015start.mp4
https://k2s.cc/file/a3c83fgj0abd4/0016start.mp4
https://k2s.cc/file/4328aj34bd5f2/0017start.mp4
https://k2s.cc/file/90fb6sj6187/0018start.mp4
https://k2s.cc/file/055xn72ec7db/0019start.mp4
https://k2s.cc/file/e27xxn6b45f/0020start.mp4
https://k2s.cc/file/1804xn6fad3/0021start.mp4
https://k2s.cc/file/a47d4xxn9d8c/0022start.mp4
https://k2s.cc/file/delete link/0023start.mp4
https://k2s.cc/file/89dnxbc13b/0024start.mp4
https://k2s.cc/file/9cesf0bh163/0025start.mp4
https://k2s.cc/file/5bs2fgh65e98b/0026start.mp4
https://k2s.cc/file/daach76d0efdeb/0027start.mp4
https://k2s.cc/file/delete link/0028start.mp4
https://k2s.cc/file/be4cj8b4ee6f8e/0029start.mp4
https://k2s.cc/file/764ffgh819eaa5/0030start.mp4
https://k2s.cc/file/ff5bd6fgh6d4c7/0031start.mp4
https://k2s.cc/file/9d22adfg0d34e/0032start.mp4
https://k2s.cc/file/7438gfjfe5d5a2/0033start.mp4
https://k2s.cc/file/delete link/0034start.mp4
https://k2s.cc/file/delete link/0035start.mp4

https://k2s.cc/file/b532sdg7141b5/0036start.mp4
https://k2s.cc/file/c575df1616937/0037start.mp4
https://k2s.cc/file/a4a46fgj6e1f424/0038start.mp4
https://k2s.cc/file/2332dfha124a61/0039start.mp4
https://k2s.cc/file/40cbsdg65a8737/0040start.mp4
https://k2s.cc/file/ee6dfh4c8408/0041start.mp4
https://k2s.cc/file/93cvh46f6aa0/0042start.mp4
https://k2s.cc/file/302ert64dbf64/0043start.mp4
https://k2s.cc/file/1c49bsdf969/0044start.mp4
https://k2s.cc/file/d8360sdf6710/0045start.mp4

Примечание: имя файла всегда одинаковое, но неизвестно Какое … также неизвестно где располагается имя файла (до номера или после)..

варианты имен файлов:
####name.расширение
name####.расширение

где name - всегда одно и то же слово (но неизвестно какое).
#### - номер.

Номер всегда состоит из 4 цифр, Верхняя ссылка всегда с самым меньшим номером, а Нижняя ссылка с самым большим номером, нумерация идёт по порядку.
:)

megaloman 02-11-2021 14:42 2970423

Код:

@Echo Off
cls
        Set "FileIn=Z:\Box_In\txt файл со ссылками 2.txt"
        Set "FileOut=Z:\Box_In\txt файл со ссылками 2 обработанный.txt"
       
        Set "https=https://k2s.cc/file/"
        Set "Dhttps=%https%delete link/"

        Set /A Num=4

        Set /A i=0
        Set "Rhttps=%https:.=\.%"
        Set "RNum="
        For /L %%i In (1,1,%Num%) Do Call Set "RNum=%%RNum%%[0-9]"
       
        >"%FileOut%" ( For /F "usebackq delims=" %%f In (`2^>nul FindStr /I /R /C:"^%Rhttps%[^/]*/%RNum%[^/]*\.[^/]*$" "%FileIn%"`) Do Call :OutFile 1 "%%f")
        >>"%FileOut%" (For /F "usebackq delims=" %%f In (`2^>nul FindStr /I /R /C:"^%Rhttps%[^/]*/[^/]*%RNum%\.[^/]*$" "%FileIn%"`) Do Call :OutFile 2 "%%f")
pause
Exit /B

:OutFile
        Set "Name=%~n2"
        If %1 EQU 1 (Call Set /A N=1%%Name:~0,%Num%%%) Else (Call Set /A N=1%%Name:~-%Num%%%)
        If %i% EQU 0 Set /A i=%N%-1

        :Begin
                Set /A i+=1
                If %i% EQU %N% (Echo %~2& Exit /B 0)
                Set "NN=%N:~1%"
                Set "ii=%i:~1%"
                (Call Echo %Dhttps%%%Name:%NN%=%ii%%%%~x2)
        GoTo :Begin
Exit /B


Sham 02-11-2021 17:14 2970455

На jscript. Меняет исходный файл, который берётся из аргументов.
Код:

var filename = WSH.Arguments.Unnamed.length ? WSH.Arguments.Unnamed.Item(0) : '';

var fso = new ActiveXObject("Scripting.FileSystemObject");
try {
        var txt = fso.OpenTextFile(filename, 1, false, -2).ReadAll();
        var fw = fso.OpenTextFile(filename, 2, true, -2);
} catch (e) {
        WSH.Quit(666);
}

var regex1 = /^http.+$/mgi;
var regex2 = /^(.+?\/file)\/([^\/]+)\/(\w*?)(\d{4})(\w*)\.\w{2,6}/i;
var matches1 = txt.match(regex1), start = 0, end = 0, cur = 0, matches2 = {};

for (var i = 0, u = []; i < matches1.length; i++) {
        u = regex2.exec(matches1[i]);
        if (!u) continue;
        cur = parseInt(u[4], 10);
        matches2[cur] = u;
        if (!start) start = cur
}

end = cur;

for (var i = start, s = '', pre = '', num = '', nl = 0; i <= end; i++) {
        if (matches2[i]) {
                s = matches2[i][0];
                pre = matches2[i];
        } else if (pre) {
                num = i.toString(10);
                nl = pre[4].length - num.length;
                for (var y = 0; y < nl; y++)
                        num = '0' + num;
                s = pre[1] + '/delete link/' + pre[3] + num + pre[5] + '.mp4';
        }

        fw.WriteLine(s);
}

fw.Close();


Alexander_88 02-11-2021 19:49 2970470

Спасибо всем за ответы, завтра вечерком будут тестировать :)

megaloman 02-11-2021 20:01 2970474

Alexander_88,
Цитата:

Цитата Alexander_88
варианты имен файлов:
####name.расширение
name####.расширение »

Не совсем понял, в моём предыдущем посте я предполагал, что в одном файле формат имён одинаквый. Если в файле смесь форматов, но нумерация по прежнему сплошная от минимума к максимуму, то вот вариант:
Код:

@Echo Off
cls
        Set "FileIn=Z:\Box_In\txt файл со ссылками.txt"
        Set "FileOut=Z:\Box_In\txt файл со ссылками обработанный.txt"
       
        Set "https=https://k2s.cc/file/"
        Set "Dhttps=%https%delete link/"

        Set /A Num=4

        Set /A i=0
        Set "Rhttps=%https:.=\.%"
        Set "RNum="
        For /L %%i In (1,1,%Num%) Do Call Set "RNum=%%RNum%%[0-9]"
       
        >"%FileOut%" (For /F "usebackq delims=" %%f In (`2^>nul FindStr /I /R /C:"^%Rhttps%[^/]*/[^/]*%RNum%[^/]*\.[^/]*$" "%FileIn%"`) Do Call :OutFile "%%f")
pause
Exit /B

:OutFile
        Set "Name=%~n1"
        Set /A Log=1
        Echo %Name%| >nul 2>&1 FindStr /I /R /C:"^[^/]*%RNum%$"&&Set /A Log=2

        If %Log% EQU 1 (Call Set /A N=1%%Name:~0,%Num%%%) Else (Call Set /A N=1%%Name:~-%Num%%%)
        If %i% EQU 0 Set /A i=%N%-1

        :Begin
                Set /A i+=1
                If %i% EQU %N% (Echo %~1& Exit /B 0)
                Set "NN=%N:~1%"
                Set "ii=%i:~1%"
                (Call Echo %Dhttps%%%Name:%NN%=%ii%%%%~x1)
        GoTo :Begin
Exit /B


megaloman 03-11-2021 14:10 2970556

Alexander_88,
Вот еще вариант: не надо в скрипте прописывать https
Если формат имени в файле одинаковые. Или ####name.расширение или name####.расширение
Код:

@Echo Off
cls
rem        Set "FileIn=Z:\Box_In\txt файл со ссылками 2.txt"
rem        Set "FileOut=Z:\Box_In\обработанный 2 txt файл со ссылками.txt"

        Set "FileIn=fileslink.txt"
        Set "FileOut=fileslink2.txt"

        Set "Dhttps=delete link delete link delete link"

        Set /A Num=4

        Set /A i=0
        Set "RNum="
        For /L %%i In (1,1,%Num%) Do Call Set "RNum=%%RNum%%[0-9]"
       
        >"%FileOut%"  (For /F "usebackq delims=" %%f In (`2^>nul FindStr /I /R /C:"^.*/%RNum%[^/]*\.[^/]*$" "%FileIn%"`) Do Call :OutFile 1 "%%f")
        >>"%FileOut%" (For /F "usebackq delims=" %%f In (`2^>nul FindStr /I /R /C:"^.*/[^/]*%RNum%\.[^/]*$" "%FileIn%"`) Do Call :OutFile 2 "%%f")
pause
Exit /B

:OutFile
        Set "Name=%~n2"
        If %1 EQU 1 (Call Set /A N=1%%Name:~0,%Num%%%) Else (Call Set /A N=1%%Name:~-%Num%%%)
        If Not %i% EQU 0 GoTo :Begin

        Set /A i=%N%-1
        Set "https=%~2"
        Call Set "https=%%https:/%~nx2=%%"

        For %%h In ("%https%") Do Set "Nhttps=%%~nxh"
        Call Set "https=%%https:/%Nhttps%=%%"

        :Begin
                Set /A i+=1
                If %i% EQU %N% (Echo %~2& Exit /B 0)
                Set "NN=%N:~1%"
                Set "ii=%i:~1%"
                (Call Echo %https%/%Dhttps%/%%Name:%NN%=%ii%%%%~x2)
        GoTo :Begin
Exit /B

Если формат имени файлов смешанный (работает медленнее)
Код:

@Echo Off
cls
rem        Set "FileIn=Z:\Box_In\txt файл со ссылками 2.txt"
rem        Set "FileOut=Z:\Box_In\обработанный 2 txt файл со ссылками.txt"

        Set "FileIn=fileslink.txt"
        Set "FileOut=fileslink2.txt"
       
        Set "Dhttps=delete link delete link delete link"

        Set /A Num=4

        Set /A i=0
        Set "RNum="
        For /L %%i In (1,1,%Num%) Do Call Set "RNum=%%RNum%%[0-9]"
       
        >"%FileOut%" (For /F "usebackq delims=" %%f In (`2^>nul FindStr /I /R /C:"^.*/[^/]*%RNum%[^/]*\.[^/]*$" "%FileIn%"`) Do Call :OutFile "%%f")
pause
Exit /B

:OutFile
        Set "Name=%~n1"
        Set /A Log=1
        Echo %Name%| >nul 2>&1 FindStr /I /R /C:"^[^/]*%RNum%$"&&Set /A Log=2

        If %Log% EQU 1 (Call Set /A N=1%%Name:~0,%Num%%%) Else (Call Set /A N=1%%Name:~-%Num%%%)
        If Not %i% EQU 0 GoTo :Begin

        Set /A i=%N%-1
        Set "https=%~1"
        Call Set "https=%%https:/%~nx1=%%"

        For %%h In ("%https%") Do Set "Nhttps=%%~nxh"
        Call Set "https=%%https:/%Nhttps%=%%"
        :Begin
                Set /A i+=1
                If %i% EQU %N% (Echo %~1& Exit /B 0)
                Set "NN=%N:~1%"
                Set "ii=%i:~1%"
                (Call Echo %https%/%Dhttps%/%%Name:%NN%=%ii%%%%~x1)
        GoTo :Begin
Exit /B



Alexander_88 03-11-2021 22:54 2970659

Спасибо, взял самый первый вариант … формат в одном файле всегда одинаковые, но в другом файле может быть другой … из последнего сообщения, первый вариант, решил тоже попробовать, но там перед ссылкой выводится путь после диска C, два раза. вот так:

Код:

work/Scripts/new thread/work/Scripts/new thread/https://k2s.cc/file/delete link delete link delete link/0010start.mp4

Alexander_88 04-11-2021 00:01 2970666

Вложений: 2
Цитата:

Цитата megaloman
Не понял, где выводится, в исходном файле или после обработки? Я проверил все свои варианты, они рабочие на изначальных условиях. Дайте Выши исходные файлы, на которых не идёт. »

в выводящем файле..
скрипт взял
"Если адреса в файле одинаковые. Или ####name.расширение или name####.расширение"
поменял пути файлов:
Код:

@Echo Off
cls
        Set "FileIn=fileslink.txt"
        Set "FileOut=fileslink2.txt"
       
        Set "Dhttps=delete link delete link delete link"

        Set /A Num=4

        Set /A i=0
        Set "RNum="
        For /L %%i In (1,1,%Num%) Do Call Set "RNum=%%RNum%%[0-9]"
       
        >"%FileOut%" ( For /F "usebackq delims=" %%f In (`2^>nul FindStr /I /R /C:"^.*/%RNum%[^/]*\.[^/]*$" "%FileIn%"`) Do Call :OutFile 1 "%%f")
        >>"%FileOut%" (For /F "usebackq delims=" %%f In (`2^>nul FindStr /I /R /C:"^.*/[^/]*%RNum%\.[^/]*$" "%FileIn%"`) Do Call :OutFile 2 "%%f")
pause
Exit /B

:OutFile
        Set "Name=%~n2"
        If %1 EQU 1 (Call Set /A N=1%%Name:~0,%Num%%%) Else (Call Set /A N=1%%Name:~-%Num%%%)
        If Not %i% EQU 0 GoTo :Begin

        Set /A i=%N%-1
        Set "https=%~p2"
        For %%h In ("%https:~1,-1%") Do Set "https=%%~ph"
        Set "https=%https:~1,-1%"
        Set "https=%https:\=/%"
        Set "https=%https::/=://%"

        :Begin
                Set /A i+=1
                If %i% EQU %N% (Echo %~2& Exit /B 0)
                Set "NN=%N:~1%"
                Set "ii=%i:~1%"
                (Call Echo %https%/%Dhttps%/%%Name:%NN%=%ii%%%%~x2)
        GoTo :Begin
Exit /B

а файлы из примера выше:

Код:

https://k2s.cc/file/74gsjddf53/0001start.mp4
https://k2s.cc/file/f0bmfg86d/0002start.mp4
https://k2s.cc/file/82cdsfgs7879/0003start.mp4
https://k2s.cc/file/2ca5fj414b6/0004start.mp4
https://k2s.cc/file/a2bfgjfs0dbf1/0005start.mp4
https://k2s.cc/file/484df773a/0006start.flv
https://k2s.cc/file/56cdfdabd7/0007start.flv
https://k2s.cc/file/613bdgdfg632/0009start.mp4
https://k2s.cc/file/e95bdfhdfha2557/0010start.mp4
https://k2s.cc/file/df3f1vcj74f2/0011start.mp4
https://k2s.cc/file/0c7erert450f6/0012start.mp4
https://k2s.cc/file/bd9srtey50f7a/0013start.mp4
https://k2s.cc/file/bbb8fgj22c7d1/0014start.mp4
https://k2s.cc/file/c5b0awet3652/0015start.mp4
https://k2s.cc/file/a3c83fgj0abd4/0016start.mp4
https://k2s.cc/file/4328aj34bd5f2/0017start.mp4
https://k2s.cc/file/90fb6sj6187/0018start.mp4
https://k2s.cc/file/055xn72ec7db/0019start.mp4
https://k2s.cc/file/e27xxn6b45f/0020start.mp4
https://k2s.cc/file/1804xn6fad3/0021start.mp4
https://k2s.cc/file/a47d4xxn9d8c/0022start.mp4
https://k2s.cc/file/89dnxbc13b/0024start.mp4
https://k2s.cc/file/9cesf0bh163/0025start.mp4
https://k2s.cc/file/5bs2fgh65e98b/0026start.mp4
https://k2s.cc/file/daach76d0efdeb/0027start.mp4
https://k2s.cc/file/be4cj8b4ee6f8e/0029start.mp4
https://k2s.cc/file/764ffgh819eaa5/0030start.mp4
https://k2s.cc/file/ff5bd6fgh6d4c7/0031start.mp4
https://k2s.cc/file/9d22adfg0d34e/0032start.mp4
https://k2s.cc/file/7438gfjfe5d5a2/0033start.mp4
https://k2s.cc/file/b532sdg7141b5/0036start.mp4
https://k2s.cc/file/c575df1616937/0037start.mp4
https://k2s.cc/file/a4a46fgj6e1f424/0038start.mp4
https://k2s.cc/file/2332dfha124a61/0039start.mp4
https://k2s.cc/file/40cbsdg65a8737/0040start.mp4
https://k2s.cc/file/ee6dfh4c8408/0041start.mp4
https://k2s.cc/file/93cvh46f6aa0/0042start.mp4
https://k2s.cc/file/302ert64dbf64/0043start.mp4
https://k2s.cc/file/1c49bsdf969/0044start.mp4
https://k2s.cc/file/d8360sdf6710/0045start.mp4

выводится так:

Код:

https://k2s.cc/file/74gsjddf53/0001start.mp4
https://k2s.cc/file/f0bmfg86d/0002start.mp4
https://k2s.cc/file/82cdsfgs7879/0003start.mp4
https://k2s.cc/file/2ca5fj414b6/0004start.mp4
https://k2s.cc/file/a2bfgjfs0dbf1/0005start.mp4
https://k2s.cc/file/484df773a/0006start.flv
https://k2s.cc/file/56cdfdabd7/0007start.flv
work/Scripts/new thread/work/Scripts/new thread/https://k2s.cc/file/delete link delete link delete link/0008start.mp4
https://k2s.cc/file/613bdgdfg632/0009start.mp4
https://k2s.cc/file/e95bdfhdfha2557/0010start.mp4
https://k2s.cc/file/df3f1vcj74f2/0011start.mp4
https://k2s.cc/file/0c7erert450f6/0012start.mp4
https://k2s.cc/file/bd9srtey50f7a/0013start.mp4
https://k2s.cc/file/bbb8fgj22c7d1/0014start.mp4
https://k2s.cc/file/c5b0awet3652/0015start.mp4
https://k2s.cc/file/a3c83fgj0abd4/0016start.mp4
https://k2s.cc/file/4328aj34bd5f2/0017start.mp4
https://k2s.cc/file/90fb6sj6187/0018start.mp4
https://k2s.cc/file/055xn72ec7db/0019start.mp4
https://k2s.cc/file/e27xxn6b45f/0020start.mp4
https://k2s.cc/file/1804xn6fad3/0021start.mp4
https://k2s.cc/file/a47d4xxn9d8c/0022start.mp4
work/Scripts/new thread/work/Scripts/new thread/https://k2s.cc/file/delete link delete link delete link/0023start.mp4
https://k2s.cc/file/89dnxbc13b/0024start.mp4
https://k2s.cc/file/9cesf0bh163/0025start.mp4
https://k2s.cc/file/5bs2fgh65e98b/0026start.mp4
https://k2s.cc/file/daach76d0efdeb/0027start.mp4
work/Scripts/new thread/work/Scripts/new thread/https://k2s.cc/file/delete link delete link delete link/0028start.mp4
https://k2s.cc/file/be4cj8b4ee6f8e/0029start.mp4
https://k2s.cc/file/764ffgh819eaa5/0030start.mp4
https://k2s.cc/file/ff5bd6fgh6d4c7/0031start.mp4
https://k2s.cc/file/9d22adfg0d34e/0032start.mp4
https://k2s.cc/file/7438gfjfe5d5a2/0033start.mp4
work/Scripts/new thread/work/Scripts/new thread/https://k2s.cc/file/delete link delete link delete link/0034start.mp4
work/Scripts/new thread/work/Scripts/new thread/https://k2s.cc/file/delete link delete link delete link/0035start.mp4
https://k2s.cc/file/b532sdg7141b5/0036start.mp4
https://k2s.cc/file/c575df1616937/0037start.mp4
https://k2s.cc/file/a4a46fgj6e1f424/0038start.mp4
https://k2s.cc/file/2332dfha124a61/0039start.mp4
https://k2s.cc/file/40cbsdg65a8737/0040start.mp4
https://k2s.cc/file/ee6dfh4c8408/0041start.mp4
https://k2s.cc/file/93cvh46f6aa0/0042start.mp4
https://k2s.cc/file/302ert64dbf64/0043start.mp4
https://k2s.cc/file/1c49bsdf969/0044start.mp4
https://k2s.cc/file/d8360sdf6710/0045start.mp4


DJ Mogarych 04-11-2021 10:35 2970677

Powershell:
Код:

$urls = gc "C:\temp\links.txt" |% {$_ -as [uri]}
$start = ((($urls[0]).segments[-1]) -split '\.')[0] -replace "\D"
$end = ((($urls[-1]).segments[-1]) -split '\.')[0] -replace "\D"

$absent = @()
$start..$end |% {
    if (!($urls.originalstring -match ($num = '{0:d4}' -f $_))) {
    $absent += "https://k2s.cc/file/delete link/" + $num + "start.mp4"
    }
}

$urls.originalstring + $absent |sort {$_ -replace ".*/"}


megaloman 04-11-2021 13:19 2970695

Alexander_88, Исправил. Примите извинения за причинённые неудобства. :) Пробуйте.

Alexander_88 05-11-2021 18:09 2970853

megaloman, Спасибо, теперь даже необязательно домен в скрипте указывать :)

alpap 06-11-2021 02:06 2970906

Предложу и свой вариант
PowerShell
Код:

$file = 'file.txt'
$sId  = 'delete link'
$ext  = 'mp4'

$uName = gc $file|% {([uri]$_).Segments[-1]}
$we    = $uName|% {[System.IO.FileInfo]::New($_)}
$name  = $we.BaseName|% {[regex]::Match($_, '[\d{4}]*(\D*)[\d{4}]*').Groups[1].Value}
$num  = $we.BaseName|% {[regex]::Match($_, '\d{4}').Value}
$l    = (gc $file)[0] -Split '/+'
$prf  = '{0}//{1}/{2}' -f $l[0], $l[1], $l[2]

1..$num[-1]|% {
  $d4 = '{0:d4}' -f $_
  if ($d4 -NotIn $num) {'{0}/{1}/{2}{3}.{4}' -f $prf, $sId, $d4, $name[$d4], $ext}
  (gc $file)[$d4-1]
}

Тестировал на файле с таким содержимым:
file.txt

Код:

https://k2s.cc/file/74gsjddf53/0001start.mp4
https://k2s.cc/file/f0bmfg86d/0002start.mp4
https://k2s.cc/file/82cdsfgs7879/0003start.mp4
https://k2s.cc/file/2ca5fj414b6/0004start.mp4
https://k2s.cc/file/a2bfgjfs0dbf1/0005start.mp4
https://k2s.cc/file/484df773a/0006start.flv
https://k2s.cc/file/56cdfdabd7/0007start.flv
https://k2s.cc/file/613bdgdfg632/0009start.mp4
https://k2s.cc/file/e95bdfhdfha2557/0010start.mp4
https://k2s.cc/file/df3f1vcj74f2/0011start.mp4
https://k2s.cc/file/0c7erert450f6/aaa0012.mp4
https://k2s.cc/file/bd9srtey50f7a/0013start.mp4
https://k2s.cc/file/bbb8fgj22c7d1/0014start.mp4
https://k2s.cc/file/c5b0awet3652/0015start.mp4
https://k2s.cc/file/a3c83fgj0abd4/0016start.mp4
https://k2s.cc/file/4328aj34bd5f2/0017start.mp4
http://k2s.cc/file/90fb6sj6187/0018start.mp4
https://k2s.cc/file/055xn72ec7db/0019start.mp4
https://k2s.cc/file/e27xxn6b45f/0020start.mp4
https://k2s.cc/file/1804xn6fad3/0021start.mp4
https://k2s.cc/file/a47d4xxn9d8c/0022start.mp4
https://k2s.cc/file/89dnxbc13b/0024start.mp4
https://k2s.cc/file/9cesf0bh163/bbb0025.mp4
https://k2s.cc/file/5bs2fgh65e98b/0026start.mp4
https://k2s.cc/file/daach76d0efdeb/0027start.mp4
https://k2s.cc/file/be4cj8b4ee6f8e/0029start.mp4
https://k2s.cc/file/764ffgh819eaa5/0030start.mp4
https://k2s.cc/file/ff5bd6fgh6d4c7/0031start.mp4
https://k2s.cc/file/9d22adfg0d34e/0032start.mp4
https://k2s.cc/file/7438gfjfe5d5a2/0033start.mp4
https://k2s.cc/file/b532sdg7141b5/0036start.mp4
https://k2s.cc/file/c575df1616937/0037start.mp4
https://k2s.cc/file/a4a46fgj6e1f424/0038start.mp4
https://k2s.cc/file/2332dfha124a61/0039start.mp4
https://k2s.cc/file/40cbsdg65a8737/0040start.mp4
http://k2s.cc/file/ee6dfh4c8408/stop0041.mp4
https://k2s.cc/file/93cvh46f6aa0/0042start.mp4
https://k2s.cc/file/302ert64dbf64/0043start.mp4
https://k2s.cc/file/1c49bsdf969/0044start.mp4
https://k2s.cc/file/d8360sdf6710/0045start.mp4



Время: 16:44.

Время: 16:44.
© OSzone.net 2001-