41275jur
21-06-2013, 17:45
Доброе время суток. Помогите, пожалуйста, с написанием батника.
Есть много текстовых файлов, название которых разное, например: 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. И появляются каракули вместо русских букв как показано выше.
Есть много текстовых файлов, название которых разное, например: 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. И появляются каракули вместо русских букв как показано выше.