1 (изменено: Tankist37, 2014-11-13 15:47:28)

Тема: CMD/BAT: BAT переводящий файлы в строку одного файла

Имеется много папок с находящимися в них файлами,
нужно скопировать  из 1 файла лежащего в каждой папке некоторые строки и записать их вместе с названием папки  строку одного файла с расширением .txt при этом надо файл находищийся в папке перевести из KOI-8 в ANSI

2

Re: CMD/BAT: BAT переводящий файлы в строку одного файла

Расставьте знаки препинания.

некоторые строки

По какому критерию «некоторые»?

3

Re: CMD/BAT: BAT переводящий файлы в строку одного файла

у файлов нет расширения, а каждый файл выглядит так, если его через командною строку открыть командой type
Не которые строки - тоесть то что стоит за Address= , IP= , Phone= и RealName=

Address=э????????? 3 ??. 8,  4 ???????
AlwaysOnline=1
Credit=0.000000
CreditExpire=0
DisabledDetailStat=1
Down=1
Email=
Group=Kabicino
IP=172.22.5.26
Note=???????????? ???????? ???????
Passive=1
Password=G1paM495
Phone=910-517-54-55
RealName=с?????? с????????
Tariff=Zagorodniy1
TariffChange=
Userdata0=
Userdata1=no
Userdata2=no
Userdata3=2000
Userdata4=
Userdata5=
Userdata6=
Userdata7=
Userdata8=
Userdata9=

4

Re: CMD/BAT: BAT переводящий файлы в строку одного файла

Отредактировано Tankist37 (Сегодня 15:17:28)

Я не понял, что Вы там редактировали, если количество знаков препинания не изменилось ни на йоту.

Упакуйте пару-тройку таких файлов (разных файлов) в архив, выложите на RGhost.

5 (изменено: Yury, 2014-11-13 16:33:07)

Re: CMD/BAT: BAT переводящий файлы в строку одного файла

@echo off

set "dir=D:\Test"
set "out=strings.txt"

@>"%out%" (
pushd "%dir%"
for /f "tokens=1,3 delims=:=" %%i in ('"findstr /bis /c:Address= /c:IP= /c:Phone= /c:RealName= *"') do @(
 for %%k in ("%%~dpi.") do @(
  echo %%~nxk %%j
  )
 )
popd
)

exit /b


Tankist37 пишет:

перевести из KOI-8 в ANSI


С этим сами разбирайтесь.

6

Re: CMD/BAT: BAT переводящий файлы в строку одного файла

Да я там кое что удалил лишнего, просто болею - очень рассеяны сейчас и голова не варит.
вот пример, в папках интересует файл conf
http://rghost.ru/59041987

7

Re: CMD/BAT: BAT переводящий файлы в строку одного файла

На всякий случай уточняю код:


@echo off

set "dir=D:\Test"
set "file=conf"
set "out=strings.txt"

@>"%out%" (
pushd "%dir%"
for /f "tokens=1,2* delims=:=" %%i in ('"findstr /bis /c:Address= /c:IP= /c:Phone= /c:RealName= "%file%""') do @(
 for %%l in ("%%~dpi.") do @(
  echo %%~nxl %%k
  )
 )
popd
)

exit /b

.

8

Re: CMD/BAT: BAT переводящий файлы в строку одного файла

Спасибо) почти то что я хотел.

получилось так:

2mpool Ленина-82
2mpool 172.22.8.2
2mpool
2mpool
abaulin Молодежный 3 кв. 8,  4 подъезд
abaulin 172.22.5.26
abaulin 910-517-*****
abaulin Абаулин А
akentev Молодежный 1-55
akentev 172.22.5.51
akentev 8-916-*******
akentev

а хотелось бы в таком виде:

2mpool Ленина-82  172.22.8.2 
abaulin Молодежный 3 кв. 8,  4 подъезд  172.22.5.26  910-517-*****  Абаулин А
akentev Молодежный 1-55  172.22.5.51  8-916-*******

Простите что не смог сразу объяснить что хочу.

9

Re: CMD/BAT: BAT переводящий файлы в строку одного файла

Tankist37 пишет:

Спасибо)


Для "спасибо" есть кнопка "+" .

10 (изменено: Yury, 2014-11-14 20:41:18)

Re: CMD/BAT: BAT переводящий файлы в строку одного файла

Tankist37 пишет:

а хотелось бы в таком виде:

2mpool Ленина-82  172.22.8.2 
abaulin Молодежный 3 кв. 8,  4 подъезд  172.22.5.26  910-517-*****  Абаулин А
akentev Молодежный 1-55  172.22.5.51  8-916-*******

Простите что не смог сразу объяснить что хочу.


@echo off

set "dir=D:\Test"
set "file=conf"
set "out=strings.txt"

setlocal enabledelayedexpansion
@>"%out%" (
pushd "%dir%"
for /f "tokens=1,2* delims=:=" %%i in ('"findstr /bis /c:Address= /c:IP= /c:Phone= /c:RealName= "%file%""') do @(
 for %%l in ("%%~dpi.") do @(
  if defined x (
   if "%%~nxl"=="!x!" (
    <nul set /p="%%k "
   ) else (
    echo.
    <nul set /p="%%~nxl %%k "
    )
  ) else (
   <nul set /p="%%~nxl %%k "
   )
  set x=%%~nxl
  )
 )
echo.
popd
)
endlocal

exit /b

11

Re: CMD/BAT: BAT переводящий файлы в строку одного файла

как вы это делаете? вы маг или волшебник???

12

Re: CMD/BAT: BAT переводящий файлы в строку одного файла

+ открыть спойлер

Ну, вот почему сразу «магия», «волшебство»? Почему не многолетний упорный труд? Нет, я, конечно, помню тезис про технологию, но тем не менее.