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

Обсуждение программы nhrt - замена текста в файлах (прежнее название nhrplc)
Ответить
Absolum
Сообщения: 13
Зарегистрирован: 27 дек 2021, 02:50

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

Сообщение 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"
nhutils
Сообщения: 591
Зарегистрирован: 09 дек 2009, 18:08
Контактная информация:

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

Сообщение nhutils »

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

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

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

См. также Тест регулярных выражений онлайн
Вложения
202201050805.png
Absolum
Сообщения: 13
Зарегистрирован: 27 дек 2021, 02:50

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

Сообщение 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
nhutils
Сообщения: 591
Зарегистрирован: 09 дек 2009, 18:08
Контактная информация:

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

Сообщение nhutils »

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

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

nhrt.exe -sre:"(.*)(-r:\")(.*)(\") (\".*\")" -ft:"$3" file.txt/code]
Absolum
Сообщения: 13
Зарегистрирован: 27 дек 2021, 02:50

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

Сообщение 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]

запускаю. ничего не происходит.
на сколько я понимаю что нужно указать входящий файл или файлы. но в какое место строки это вставить ?
nhutils
Сообщения: 591
Зарегистрирован: 09 дек 2009, 18:08
Контактная информация:

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

Сообщение nhutils »

В nhrt нет разделения входной/выходной файл. Добавил Как задать входной и выходной файлы?

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

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

nhrt.exe -sre:"(.*)(-r:\")(.*)(\") (\".*\")" -ft:"$3" RunMainAutoReNews.cmd/code]
Absolum
Сообщения: 13
Зарегистрирован: 27 дек 2021, 02:50

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

Сообщение Absolum »

если интересно , тут альтернативным путём решили задачку

https://www.cyberforum.ru/cmd-bat/threa ... st15984011
Ответить