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

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

Ответить
Настройки темы
CMD/BAT - [решено] Перенос и удаление строк из текстового файла

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


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

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


Здравствуйте господа.
В batнике нужно сделать так чтобы: В текстовом файле удалило все строки кроме одной (ex_interp "значение")
Чтото обыватель вроде меня не смог осуществить это(((

1) возможно ли просто удалить все строки кроме одной ?

2) более сложно ><
- вытащить эту строку
- удалить файл
- создать чистый файл и прописать туда эту строку

3)тоже бред
- вырезать строку
- создать временный файл и прописать её туда
- удалить исходный файл
- переименовать временный файл в исходное имя

Наверняка смешно звучит, но мне это очень нужно.
Буду признателен если вы поможете мне написать сией скрипт.
Или ткните носом в подходящую мне статью (ну искал, искал - без результата )

Отправлено: 21:50, 02-10-2010

 

Googler


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

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


1.
Код: Выделить весь код
@echo off

set FILE=file.txt
set LINE=ex_interp \"значение\"

findstr /xvic:"%LINE%" "%FILE%" >"%~dpn0.tmp"
del /f "%FILE%"&& ren "%~dpn0.tmp" "%FILE%"
2, 3.
Код: Выделить весь код
@echo off

set FILE=file.txt
set LINE=ex_interp \"значение\"

findstr /xic:"%LINE%" "%FILE%" >"%~dpn0.tmp"
del /f "%FILE%"&& ren "%~dpn0.tmp" "%FILE%"
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:14, 03-10-2010 | #2



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

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


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


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

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


amel27, Благодарю за внимание к моей проблеме.

Но чтото путём подстановок и коррекции у меня ничего не вышло


Наверное это изза того что я забыл уточнить то , что значение ex_interp всегда различно(как в цифрах, так и в лат.буквах)
Вот как оно выглядит в текстовике:

Код: Выделить весь код
ex_interp                    "0.032"

Отправлено: 13:03, 03-10-2010 | #3


Googler


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

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


Цитата sk8ter:
значение ex_interp всегда различно(как в цифрах, так и в лат.буквах) »
чем-то отличается эта строка от остальных?.. что в ней неизменно и что может меняться?

Отправлено: 13:59, 03-10-2010 | #4


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


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

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


amel27 ex_interp "здесь параметры от приложения, как уже писал - и цифры и латинские буквы и все вперемешку"
вот последнее что там было:
Код: Выделить весь код
ex_interp                    "b8e24546d307b811456d82e68befddd3"

Отправлено: 14:52, 03-10-2010 | #5


Googler


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

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


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

set FILE=file.txt
set LINE=ex_interp  *\".*\"

findstr /xvirc:"%LINE%" "%FILE%" >"%~dpn0.tmp"
del /f "%FILE%"&& ren "%~dpn0.tmp" "%FILE%"
Код: Выделить весь код
@echo off

set FILE=file.txt
set LINE=ex_interp  *\".*\"

findstr /xirc:"%LINE%" "%FILE%" >"%~dpn0.tmp"
del /f "%FILE%"&& ren "%~dpn0.tmp" "%FILE%"
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:42, 03-10-2010 | #6


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


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

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


Странно.
После первого скрипта ничего не изменилось, а второй просто полностью очищает файл

Отправлено: 16:09, 03-10-2010 | #7


Googler


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

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


исходный файл (file.txt):
Код: Выделить весь код
ex1                          "111"
ex_interp                    "b8e24546d307b811456d82e68befddd3"
ex2                          "222"
file.txt после 1-го скрипта:
Код: Выделить весь код
ex1                          "111"
ex2                          "222"
file.txt после 2-го скрипта:
Код: Выделить весь код
ex_interp                    "b8e24546d307b811456d82e68befddd3"

Отправлено: 16:37, 03-10-2010 | #8


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


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

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


Значит это уже какието косяки моей системы.
Т.к. первый шаг проходит на ура, а затем второй просто удаляет всё остальное

Отправлено: 16:49, 03-10-2010 | #9


Googler


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

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


Цитата sk8ter:
затем второй просто удаляет всё остальное »
само собой, так как 2-й скрипт рассчитан на работу с исходным file.txt, а не с результатом после 1-го скрипта

Отправлено: 17:16, 03-10-2010 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Переменная из текстового файла taravasya Скриптовые языки администрирования Windows 1 20-02-2010 10:20
Получение и обработка информации из текстового файла ya158 AutoIt 3 11-09-2009 01:24
Скрипт по обработке текстового файла Space-06 AutoIt 4 26-06-2009 10:36
CMD/BAT - [решено] Как скопировать имя файла из текстового файла в код батника и т.д. Nun-Nun Скриптовые языки администрирования Windows 6 13-05-2009 13:28
C/C++ - Открытие текстового файла .::.DIMA.::. Программирование и базы данных 4 05-05-2009 12:17




 
Переход