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

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

Ответить
Настройки темы
CMD/BAT - [решено] Работа с txt-файлами

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


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

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


В общем надо взять пути файлов из одного txt, взять их содержимое, вначале выставить номер по порядку и всунуть в другой файл без абзацев (в одну строку)
Такое возможно???

Отправлено: 09:30, 29-05-2011

 

Ветеран


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

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


vivera864864,
Взять содержимое чего? Файлов? И приведи пример как должно быть в итоге.

Отправлено: 10:11, 29-05-2011 | #2



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

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


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


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

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


Foreigner, да файлов
ну например в первой строке первого файла
C:\tmp.txt
его содержимое: exit
нужно чтобы во втором должно быть
1. exit

как-то так

и так с каждой строкой, их конечное кол-во неизвестно

Отправлено: 10:18, 29-05-2011 | #3


Ветеран


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

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


vivera864864,
Код: Выделить весь код
@echo off
setlocal

for /f "tokens=*" %%i in (list.txt) do call:echo "%%i"
goto:eof

:echo
set /a cnt+=1

1>>result.txt (

    0>nul set /p="%cnt%. "
    type %1

)
как-то так
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:32, 29-05-2011 | #4


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


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

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


Foreigner, Нумерует первую строку и всё

и надо копировать и нумеровать СОДЕРЖИМОЕ каждого файла

Последний раз редактировалось vivera864864, 29-05-2011 в 10:46.


Отправлено: 10:37, 29-05-2011 | #5


Ветеран


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

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


vivera864864,
Цитата:
и надо копировать и нумеровать СОДЕРЖИМОЕ »
В исходных файлах из списка ( из list.txt ) по одной строке? Поставь вопрос шире. Объясни. Если в исходных файлах больше одной строки в каждом, то:
Код: Выделить весь код
@echo off
setlocal

for /f "tokens=*" %%i in ( list.txt ) do (

    for /f "tokens=*" %%j in (' type "%%i" ') do call:echo "%%j"

)
goto:eof

:echo
set /a cnt+=1

0>nul 1>>result.txt (

    set /p="%cnt%. "
    set /p="%~1"
    echo.

)
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:58, 29-05-2011 | #6


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


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

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


Foreigner, Вот это то что я искал спасибо громадное))))))))

Отправлено: 11:22, 29-05-2011 | #7


Ветеран


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

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


vivera864864,
Одно маленькое замечание. Этот батник не будет корректно работать если в строке присутствуют "poison symbols" ( % = ( ) ! < > )
С помощью sed этот вопрос решается:
Код: Выделить весь код
@echo off
setlocal

for /f "tokens=*" %%i in ( list.txt ) do 1>>res.tmp findstr /v "^$" "%%i"
findstr /n "." res.tmp | 1>result.txt sed "s/^\([0-9]*\):\(.*\)$/\1. \2/g"
del res.tmp
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:30, 29-05-2011 | #8


Googler


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

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


тогда до кучи:
Код: Выделить весь код
(for /f "usebackq tokens=*" %%a in ("list.txt") do @type "%%a"
)|findstr/n $ >result.txt
Цитата Foreigner:
С помощью sed этот вопрос решается »
батником тоже можно решить использованием DelayedExpansion

Отправлено: 11:32, 29-05-2011 | #9


Ветеран


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

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


amel27,
Цитата amel27:
findstr/n $ >result.txt »
Здесь нумерация будет с двоеточием, а по условию было с точкой и пробелом после номера строки. И пустые строки тоже попадут в конечный файл.

Отправлено: 11:40, 29-05-2011 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Инфо - Работа с INF-файлами -devICE- Наборы обновлений для Windows XP/2003/Windows 7 6 17-10-2022 01:11
C/C++ - Работа с файлами D@n1k007 Программирование и базы данных 2 19-06-2010 16:06
Настройка Apache для работы c txt-файлами Foxbat-A Вебмастеру 2 03-09-2007 15:57
Работа с файлами ramo Программирование в *nix 5 23-04-2007 12:33
Работа с файлами в  Pascal paladin Программирование и базы данных 2 26-04-2004 11:31




 
Переход