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

Показать сообщение отдельно

Ветеран


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

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


Цитата JackL:
3) Отправка получившегося файла out.txt, как текста письма, по адресу указанному в нутрии файла text.txt или out.txt “e-mail: 3197087@mail.ru
4) Перенесение файлов text.txt и out.txt в архив. »
-- с зтими пунктами задания нужно разбираться "чисто конкретно" (да и особого желания нет).



А по пунктам 1) и 2) вот такое решение:


Код: Выделить весь код
@ECHO OFF>out.txt

SETLOCAL ENABLEDELAYEDEXPANSION

SET Number_of_Skipping_Strings_from_the_Beginning=9

SET Number_of_Skipping_Strings_from_the_End=6

FOR /F "tokens=1* delims=:" %%I IN ('FINDSTR /N /R . text.txt^&^&ECHO.^&^&FINDSTR /N /R /V . text.txt') DO IF DEFINED Number_of_Strings (IF %%I GTR !Number_of_Strings! SET Number_of_Strings=%%I) ELSE SET Number_of_Strings=%%I

SET /A VAR1=Number_of_Strings-Number_of_Skipping_Strings_from_the_End

FOR /L %%I IN (1,1,!Number_of_Strings!) DO FOR /F "tokens=1* delims=:" %%J IN ('FINDSTR /N /R . text.txt^&^&ECHO.^&^&FINDSTR /N /R /V . text.txt') DO IF %%I==%%J IF %%I GTR %Number_of_Skipping_Strings_from_the_Beginning% IF %%I LEQ %VAR1% SET VAR2=%%K&IF DEFINED VAR2 (SET VAR3=!VAR2: =!&IF DEFINED VAR3 (ECHO %%K>>out.txt) ELSE ECHO.>>out.txt) ELSE ECHO.>>out.txt

FOR /F "tokens=1,2* delims=: " %%I IN (text.txt) DO IF "%%I %%J"=="Страховая компания" FOR /F "tokens=1* delims=." %%L IN (text2.txt) DO IF %%L==%%K ECHO %%L.%%M>>out.txt


Скрипт "делает обрезание" текста на заданное количество строк как сверху, так и снизу. В коде заданы переменные согласно шаблону, но можно редактировать. При подсчёте строк учитываются все строки, в том числе пустые и заполненные одним или более пробелами. При репликации оставшейся части текста строки с одними пробелами эаменяются на пустые строки. Пустые строки сохраняются. Временные файлы не применяются. Извините, что в коде длинные строки, поленился переделать.

Последний раз редактировалось Georgio, 21-05-2013 в 13:10. Причина: исправление опечатки


Отправлено: 10:32, 21-05-2013 | #5