Страница 1 из 1

Задачка со строками в cmd файле

Добавлено: 04 янв 2022, 23:42
Absolum
Есть файл run.cmd с такими строками:

Денис Дзен (видео на ютубе)
C:\Temp\ShowNews\Sites\Narod\Advaita\DenisDze\youtube1\RunMainAutoReNews.cmd
exit
Денис Дзен (аватарка)
C:\Temp\ShowNews\Sites\Narod\Advaita\DenisDze\vk1\RunMainAutoReNews.cmd
exit
Август Ваал
C:\Temp\ShowNews\Sites\Narod\Advaita\Vaal\vk1\RunMainAutoReNews.cmd
exit

и так далее...

В файлах RunMainAutoReNews.cmd есть строки, с заменой инет адреса.

Для - Денис Дзен (видео на ютубе) строка выглядит вот так:
@if %showdh%!==! start "" /D"C:\Temp" "hiderun.exe" "C:\Temp\RPLSTR.exe" -s:"https://vk.com/sidhin" -r:"https://www.youtube.com/channel/UCjUny7 ... ofQ/videos" "C:\Temp\ShowNews\Sites\Narod\Advaita\DenisDze\youtube1\MainAutoReNews.cmd"

Для - Денис Дзен (аватарка) строка выглядит вот так:
@if %showdh%!==! start "" /D"C:\Temp" "hiderun.exe" "C:\Temp\RPLSTR.exe" -s:"https://vk.com/sidhin" -r:"https://vk.com/denis_dzen" "C:\Temp\ShowNews\Sites\Narod\Advaita\DenisDze\vk1\MainAutoReNews.cmd"

Для - Август Ваал строка выглядит вот так:
@if %showdh%!==! start "" /D"C:\Temp" "hiderun.exe" "C:\Temp\RPLSTR.exe" -s:"https://vk.com/sidhin" -r:"https://vk.com/augustvaal" "C:\Temp\ShowNews\Sites\Narod\Advaita\Vaal\vk1\MainAutoReNews.cmd"


То есть, вот эта строка вначале всегда одинаковая:

@if %showdh%!==! start "" /D"C:\Temp" "hiderun.exe" "C:\Temp\RPLSTR.exe" -s:"https://vk.com/sidhin" -r:"




Нужно вообщем из файла: run.cmd сделать текстовый файл Links.txt , чтобы получился такой результат (Это в идеале):

Для - Денис Дзен (видео на ютубе)
https://www.youtube.com/channel/UCjUny7 ... ofQ/videos

Для - Денис Дзен (аватарка)
https://vk.com/denis_dzen

Для - Август Ваал
https://vk.com/augustvaal


Ну, или хотя бы так:

Для - Денис Дзен (видео на ютубе)
"https://www.youtube.com/channel/UCjUny7 ... ofQ/videos" "C:\Temp\ShowNews\Sites\Narod\Advaita\DenisDze\youtube1\MainAutoReNews.cmd"

Для - Денис Дзен (аватарка)
https://vk.com/denis_dzen" "C:\Temp\ShowNews\Sites\Narod\Advaita\DenisDze\vk1\MainAutoReNews.cmd"

Для - Август Ваал
https://vk.com/augustvaal" "C:\Temp\ShowNews\Sites\Narod\Advaita\Vaal\vk1\MainAutoReNews.cmd"

Re: Задачка со строками в cmd файле

Добавлено: 05 янв 2022, 08:07
nhutils
Добрый день,
насколько я понял задачу, такое регулярное выражение подойдёт:

Код: Выделить всё

(.*)(-r:\")(.*)(\") (\".*\")
с заменой -ft:"$3"
На картинке тест выражения на https://regex101.com/ - Ссылка на выражение https://regex101.com/r/3bNvnW/1

См. также Тест регулярных выражений онлайн

Re: Задачка со строками в cmd файле

Добавлено: 06 янв 2022, 01:25
Absolum
nhutils писал(а): 05 янв 2022, 08:07 Добрый день,
насколько я понял задачу, такое регулярное выражение подойдёт:

Код: Выделить всё

(.*)(-r:\")(.*)(\") (\".*\")
с заменой -ft:"$3"
На картинке тест выражения на https://regex101.com/ - Ссылка на выражение https://regex101.com/r/3bNvnW/1

См. также Тест регулярных выражений онлайн
мне бы готовую строчку ;)

для новичка регулярные выражения - тёмный лес. как для школьника - высшая математика


p.s. а сайт regex101.com кстати кстати классный

p.s.s. тут тоже пробуем решить задачку:

https://www.cyberforum.ru/cmd-bat/thread2930770.html

Re: Задачка со строками в cmd файле

Добавлено: 06 янв 2022, 04:01
nhutils
Это было уже готовое регулярное выражение, которое нужно вставить в программу (Справка nhrt):

Код: Выделить всё

nhrt.exe -sre:"(.*)(-r:\")(.*)(\") (\".*\")" -ft:"$3" file.txt/code]

Re: Задачка со строками в cmd файле

Добавлено: 06 янв 2022, 20:29
Absolum
тут я как понимаю file.txt - это выходной файл ?

а входной - какой будет ?

все ? .* ?

я создал папку:

C:\Temp\777\

туда поместил файлы:

nhconv.exe
nhrt.exe
1.cmd
RunMainAutoReNews.cmd


в файле 1.cmd - строка:

nhrt.exe -sre:"(.*)(-r:\")(.*)(\") (\".*\")" -ft:"$3" file.txt/code]

запускаю. ничего не происходит.
на сколько я понимаю что нужно указать входящий файл или файлы. но в какое место строки это вставить ?

Re: Задачка со строками в cmd файле

Добавлено: 07 янв 2022, 06:47
nhutils
В nhrt нет разделения входной/выходной файл. Добавил Как задать входной и выходной файлы?

Если требуется обрабатывать батник RunMainAutoReNews.cmd, то строка запуска такая

Код: Выделить всё

nhrt.exe -sre:"(.*)(-r:\")(.*)(\") (\".*\")" -ft:"$3" RunMainAutoReNews.cmd/code]

Re: Задачка со строками в cmd файле

Добавлено: 08 янв 2022, 02:47
Absolum
если интересно , тут альтернативным путём решили задачку

https://www.cyberforum.ru/cmd-bat/threa ... st15984011