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

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

Ответить
Настройки темы
CMD/BAT - Перемещение строк

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


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

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


Доброе время суток. Помогите, пожалуйста, с написанием батника.
Есть много текстовых файлов, название которых разное, например: 5-axe.txt, AACuteFTP Pro.txt, AADate & Time.txt, B-dic_Search_Replace_48.txt, Browser Hijack Recover2.0.txt и т.д. Каждый файл состоит из таких строк (строки разные):

Код: Выделить весь код
%Mor%m 	    %Mили%m 
    and 	    и 
  - \tHide/show selection size (pixels)\nTab\tSwitch dragged corner\r  S\tSwitch shape (rect., rounded, ellipse)	  - \tСпрятать/показать размер выбранного (пиксели)\nTab\tВыключить выбранный угол\r  S\tSwitch shape (rect., rounded, ellipse)
&Do Not Disturb\tNo Calls Accepted	  &Не беспокоить\tНе принимать звонки
  (Default)	  (по умолчанию)
  + \tHide/show mouse pointer	  + \tСпрятать/показать курсор
  Address:\r\n	  Адрес:\r\n
  Cancel  	 Отменить
  Company: 	  Организация:
\n\tSearching for images...	\n\tПоиск рисунков...
#Digits:	#Цифры:
&>>	&>>
&0	&0
&1	&1
&Close	3aкpытиe
C&lose	З&акрыть
И т.д
Цель: переместить со всех текстовых файлов строки, где есть слова, например ("Cancel") или по определенному предложению (\tHide/show mouse pointer). При этом в оригинальном файле эти строка должна удаляться, а в файле, например (file.txt) прописываться.
В моем батнике строки перемещаются в файл file.txt, но из оригинала не удаляются

Код: Выделить весь код
type *.txt | findstr /i /c:Default > temp.txt
rename temp.txt file.txt
А предложение не перемещается, и после обработки нескольких файлов получается вот это:

Код: Выделить весь код
You must first save the image as a Windows bitmap before you can use it as wallpaper. If desired, you can change this file's path and name by clicking the Browse button, below.  Or you can accept the default name.	Во-первых, вы должны сохранить картинку, как BMP (до ее установки на Рабочий стол). Если необходимо, вы можете сменить путь файла и имя кликнув ниже по кнопке Просмотра. Или примите имя по умолчанию.
Your default MAPI store could not be opened.	Не удается открыть хранилище сообщений MAPI по умолчанию.
  (Default)	  (по умолчанию)
&Check the account(s) for which you would like to use signature '%s'. Only one signature may be selected for an account, and accounts with no signature will use the default signature.	В&ыберите учетные Еаписи, для которых следует испольЕовать подпись '%s'. Для каждой учетной Еаписи можно Еадать только одну подпись. Если она не Еадана, то будет выбрана подпись, испольЕуемая по умолчанию.
&Default	По умолчанию
&Default	&По умолчанию
&Default	Умолчание
Как исправить это?

Не знаю, наверно я спрошу не в тему, но раз я уже здесь, то задам еще несколько вопросов.
Я сначала хотел объединить файлы в один и с этого файла перемещать строки, но возникли несколько ошибок:
1. последняя строка первого файла и первая строка следующего файла прописываются в одну строчку. Объединял при помощи этого:

Код: Выделить весь код
copy /b *.txt  file.txt
Нашел

Код: Выделить весь код
@echo off
echo:>CrLf.txt
copy /b 1.txt + CrLf.txt + 2.txt final.txt
del /q CrLf.txt


и 


@echo off
(
    type 1.txt
    echo:
    type 2.txt
)>final.txt
Здесь объединяет нормально, но можно обработать только два файла.

Мне подсказали

Код: Выделить весь код
for %%i in ("*.txt") do >>"%%i" echo.
copy /a "*.txt" "some.tmp" && ren "some.tmp" "some.txt"
Здесь объединяет, но добавляет п»ї перед первой строкой следующего файла.
2. И появляются каракули вместо русских букв как показано выше.

Отправлено: 17:45, 21-06-2013

 

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


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

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


Доброе время суток.
Подскажите или помогите, пожалуйста.
С копированием строк в другой файл я немного разобрался.
Код: Выделить весь код
type file.txt | findstr /i /c:"The following required field(s) are empty :\r\n" > file1.txt
А вот с удалением у меня не получается. Строку, которую надо удалить удаляет, но также удаляет и строки, в которых есть слова The, following, required, field(s) и т.д.
Код: Выделить весь код
type file.txt | findstr /i /v " The following required field(s) are empty :\r\n " > temp.txt
del file.txt
rename temp.txt file.txt
Где моя ошибка?

Отправлено: 21:21, 24-06-2013 | #2



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

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


Ветеран


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

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


41275jur, также используйте параметр (префикс) /C::
Код: Выделить весь код
type file.txt | findstr /i /v /C:"The following required field(s) are empty :\r\n" > temp.txt
.
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:36, 24-06-2013 | #3


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


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

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


Georgio, Спасибо за помощь. Получилось.

Отправлено: 07:42, 25-06-2013 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Перемещение Веталь_Забродский@fb Скриптовые языки администрирования Windows 3 03-05-2013 20:59
CMD/BAT - Поиск слова в тексте, удаление строки, удаление 8 строк выше и 3 строк ниже Alk-13 Скриптовые языки администрирования Windows 0 10-02-2012 18:06
VBA - Обработка строк Наташок Программирование и базы данных 2 29-12-2010 10:10
CMD/BAT - Удаление строк gen0m.rsw Скриптовые языки администрирования Windows 2 08-10-2010 12:12
Перемещение браузера Vady Вебмастеру 1 26-12-2004 14:52




 
Переход