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

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

Ответить
Настройки темы
CMD/BAT - Обработать построчно файл, и получить значения между двух знаков -

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


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

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


Доброго дня!
Подскажите.
есть текстовый файл FolderStr.txt в котором структура папок/файлов
вида
F:\Папка\2015_02_16_17_21-senyor_pomidor-Приветственное_сообщение-всем_Пользователям.txt
мне надо перебрать все строки и выдернуть с имени только то что между двумя первыми знаками -, в имени может быть и третий и четвертный знак -
т.е. в данном случае senyor_pomidor
сложить все это в один текстовый файл

Отправлено: 17:18, 20-04-2016

 

Забанен


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

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


Допустим, файл выглядит как:
Код: Выделить весь код
F:\Папка\2015_02_16_17_21-senyor_pomidor-Приветственное_сообщение-всем_Пользователям.txt
E:\Папка\2016_02_16_19_33-siski_rulyat_mirom-Приветственное_сообщение-vip_Пользователям.txt
...
Тогда можно извлечь подстроку по токену:
Код: Выделить весь код
@echo off
  setlocal&chcp 1251>nul
    for /f %%i in (spisok.txt) do (
      for /f "tokens=2 delims=-" %%j in ("%%i") do (
        echo:%%j>>puk.txt
      )
    )
  endlocal&chcp 866>nul
exit /b
К слову, если в наличии имеется gawk:
Код: Выделить весь код
gawk -F "-" '{print $2}' spisok.txt>puk.txt
На PS >= 4 версии:
Код: Выделить весь код
(gc .\spisok.txt).ForEach{($_ -split '-')[1]}|Out-File puk.txt -enc default

Последний раз редактировалось greg zakharov, 20-04-2016 в 18:52.


Отправлено: 18:28, 20-04-2016 | #2



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

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


Ветеран


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

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


Код: Выделить весь код
@<"FolderStr.txt">"new.txt" (for /f "tokens=2 delims=:" %%i in ('more') do @for /f "tokens=2 delims=-" %%j in ("%%~ni") do @echo.%%j)

Отправлено: 18:29, 20-04-2016 | #3



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Как получить только значения реестра cmd NeformalDron Скриптовые языки администрирования Windows 7 28-01-2016 11:52
2013 - Проверить значения в двух таблица и залить ячейки цветом Alexander_88 Microsoft Office (Word, Excel, Outlook и т.д.) 2 03-10-2015 09:31
CMD/BAT - [решено] Как построчно разбить текстовый файл на текстовые файлы содержащие одну строку binwatch@vk Скриптовые языки администрирования Windows 3 09-09-2012 19:59
StringRegExp - как получить содержимое между 2-мя строками evg64 AutoIt 2 05-12-2009 01:19
отправить файл-получить файл. ? Dafi Вебмастеру 12 23-12-2004 20:22




 
Переход