Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - как удалить любые две буквы между двумя знаками «>» и «/» в каждой строке в текстовом

Ответить
Настройки темы
Любой язык - как удалить любые две буквы между двумя знаками «>» и «/» в каждой строке в текстовом

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


как удалить любые две буквы между двумя знаками «>» и «/» в каждой строке в текстовом файле, используя bat?

<frame>59/592582ae031011e6e19f141877341409</frame>
<frame>93/93ffff76b4fc11e85a8d2cfda1bf577d</frame>
<frame>1b/1b730c7216ae11e6cd8f141877341409</frame>
<frame>33/335902e616af11e6cd8f141877341409</frame>
<frame>a9/a9034ee4b39e11e55f83141877341409</frame>
<frame>69/69bd29c8031011e6e19f141877341409</frame>

Отправлено: 12:46, 25-04-2019

 

Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


sergey14235, что должно получиться в ответе?

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 14:28, 25-04-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


sergey14235, никак
в батнике не получится анализировать строки содержащие >

Отправлено: 14:39, 25-04-2019 | #3


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Цитата Busla:
в батнике не получится анализировать строки содержащие >
Подобное заявление простительно начинающим.
Цитата sergey14235:
как удалить любые две буквы между двумя знаками «>» и «/» в каждой строке в текстовом файле, используя bat?
Примерный алгоритм: опрашиваем файл на количество строк, перенаправляем его содержимое в отладочный поток, узнаем длину строки, на основании чего генерируем пару случайных чисел (индексы букв в строке), по этим индексам режем строку на сегменты. В переводе на cmd это примерно будет так:
Код: Выделить весь код
@echo off
  setlocal enabledelayedexpansion
    for /f %%i in ('find /v /c "" ^< file.txt') do set "n=%%i"
    3<file.txt (
      for /l %%i in (1, 1, !n!) do (
        set /p s=<&3
        for /f "tokens=2 delims=><" %%j in ("!s!") do set "raw=%%j"
        call:strlen !raw!
        call:rand !i! f
        call:rand !i! s
        if !f! gtr !s! (
          set "var=!f!"
          set /a "f=!s!","s=!var!"
        )
        if !f! equ !s! (
          if !s! equ !i! (set /a "f-=2","s-=1") else set /a "s-=1"
        )
        rem строка и индексы, как извлечь подстроки, сообразите сами
        echo !raw! !f! !s!
      )
    )
  endlocal
exit /b

:strlen
  set "s=%~1"
  set /a "i=1"
  :while
    set "c=!s:~%i%!"
    if defined c set /a "i+=1"&goto:while
exit /b

:rand
  set /a "r=!random! * %~1 / 32768 + 1"
  set "%~2=!r!"
exit /b
Проще в cmd только используя sed.

Отправлено: 15:19, 25-04-2019 | #4


Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


Busla, Я не понимаю, в чём задача, но если надо из приведенного текста из файла сделать файл с текстом
Цитата:
<frame>592582ae031011e6e19f141877341409</frame>
<frame>93ffff76b4fc11e85a8d2cfda1bf577d</frame>
<frame>1b730c7216ae11e6cd8f141877341409</frame>
<frame>335902e616af11e6cd8f141877341409</frame>
<frame>a9034ee4b39e11e55f83141877341409</frame>
<frame>69bd29c8031011e6e19f141877341409</frame>
То вот код
Код: Выделить весь код
@Echo Off
	Set "InFile=Z:\Box_Arc\txt.txt"
	Set "OutFile=Z:\Box_Arc\txt2.txt"

	2>nul Del "%OutFile%"
	FOR /F "usebackq tokens=1,2,* delims=>/" %%i IN ("%InFile%") DO (<Nul Set /P $V="%%i>%%k">>"%OutFile%" &>>"%OutFile%" Echo.)
Exit /B

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 16:28, 25-04-2019 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - как удалить любые две буквы между двумя знаками «>» и «/» в каждой строке в текстовом

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - [решено] Каждой цифре в строке прибавить 1 Alexander_88 Скриптовые языки администрирования Windows 3 06-02-2019 09:46
CMD/BAT - [решено] Как удалить последнюю строку в текстовом файле? ivanxam Скриптовые языки администрирования Windows 35 18-09-2018 08:33
Офис и Текст - Как выделить в каждой строке только цифры KooDI Программное обеспечение Windows 1 01-03-2013 18:29
как ВК сделать у каждой аудиозаписи кнопку удалить dogbsp Флейм 0 12-06-2012 10:56
CMD/BAT - как удалить ">" из строки типа “>>…>>c:\program files\dir\mir\doc.skok” akrav Скриптовые языки администрирования Windows 1 14-02-2008 16:35




 
Переход