Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Гродненский Форум
22 Июль 2025, 02:42:15
Новости, реклама:
   Главная   Новости Гродно Помощь Игры Календарь Войти Регистрация   Меню
Гродненский Форум > Компьютеры > Программирование
(Модераторы: Админ, barmalei) > Тема:

помогите наваять батник...

Страниц  :   Вниз
  Печать  
Автор Тема: помогите наваять батник...  (Прочитано 1160 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Дядя Серёжа
Почетный гродненец
*****

Репутация: +199/-0
Offline Offline

Пол: Мужской
Сообщений: 1069


S Просмотр профиля WWW Email
« : 06 Февраль 2007, 02:22:16 »

..есть текстовый файл с некоторым количеством строк.
нужно удалить в нём строки, которые начинаются с определённого символа и заменить одни символы другими. при этом сделать это нужно(по возможности) стандартными средствами winxp

например:
исходный файл:
   abc,abc,abc,abc,abc,abc
   qwe,abc,abc,abc
   abc,abc,abc,abc,abc,abc,
   abc,abc,xdz,abc,xdz,abc,

в результате нужно получить:
   abc,abc,abc,abc,abc,abc
   abc,abc,abc,abc,abc,abc,
   abc,abc,xyz,abc,xyz,abc,

то есть удалить строку, которая начинается с qwe и заменить xdz на xyz
« Последнее редактирование: 06 Февраль 2007, 02:23:43 от Serg_Malkevich » Записан
ancestor::
Гродненец
**

Репутация: +13/-0
Offline Offline

Пол: Мужской
Сообщений: 127


Не знаешь как правильно – делай, как знаешь…

Просмотр профиля
« Ответ #1 : 06 Февраль 2007, 10:24:35 »

script.js:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.OpenTextFile("c:\\textfile.txt", 1, true);

var out = fso.OpenTextFile("c:\\textfile.txt.out", 2, true);

while(!f.AtEndOfStream) {
      var line = f.readline();

      if(line.substring(0, 3) != "qwe") {
            while (line.indexOf("xdz") != -1) {
                  line = line.replace("xdz", "xyz");
            }
            out.WriteLine(line);
      }
}

out.close();
f.close();


запускается через
cscript script.js
или
wscript script.js
Записан

"I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing...Only I will remain" F.H., D
Дядя Серёжа
Почетный гродненец
*****

Репутация: +199/-0
Offline Offline

Пол: Мужской
Сообщений: 1069


S Просмотр профиля WWW Email
« Ответ #2 : 06 Февраль 2007, 12:26:33 »

ancestor::, спасибо, буду пробовать.

...если кто-то подскажеть ещё чего с использованием той же edline.exe или ещё чего, буду оч. благодарен Улыбка
Записан
Dj_NudnyJ
Настоящий гродненец
****

Репутация: +22/-0
Offline Offline

Пол: Мужской
Сообщений: 369


Просмотр профиля
« Ответ #3 : 06 Февраль 2007, 17:52:13 »

Код:
@echo off
rem ©restorer'o7

echo. > result.txt
del result.txt

for /f "delims=" %%i in (input.txt) do call :proc "%%i"

echo A 0 > prog_tmp.tmp
echo DB 'r' >> prog_tmp.tmp
echo DB 'x' >> prog_tmp.tmp
echo DB 'd' >> prog_tmp.tmp
echo DB 'z' >> prog_tmp.tmp
echo DB 1A >> prog_tmp.tmp
echo DB 'x' >> prog_tmp.tmp
echo DB 'y' >> prog_tmp.tmp
echo DB 'z' >> prog_tmp.tmp
echo DB 0D >> prog_tmp.tmp
echo DB 0A >> prog_tmp.tmp
echo. >> prog_tmp.tmp
echo RCX >> prog_tmp.tmp
echo 0A >> prog_tmp.tmp
echo N EDLIN.TMP >> prog_tmp.tmp
echo W 0 >> prog_tmp.tmp
echo. >> prog_tmp.tmp
echo Q >> prog_tmp.tmp
echo. >> prog_tmp.tmp

debug < prog_tmp.tmp > nul
echo E >> EDLIN.TMP

edlin result.txt < EDLIN.TMP > nul

del prog_tmp.tmp
del EDLIN.TMP

echo. >RESULT.BAK
del RESULT.BAK

ren RESULT.TXT result.txt

goto :eof

:proc

echo %~1 > prog_tmp.tmp
findstr qwe prog_tmp.tmp > nul
if %ERRORLEVEL% LSS 1 goto :eof

echo %~1 >> result.txt

goto :eof

батник назвать prog.bat , текстовик с входными данными - input.txt , результат будет в result.txt
всё должно лежать в одной папке.

а вообще лабы надо делать самостоятельно  Смеющийся
Записан
Страниц  :   Вверх
  Печать  
 
Перейти в:  

Войти
Войдите, чтобы добавить комментарий

Войдите через социальную сеть

Имя пользователя:
Пароль:
Продолжительность сессии (в минутах):
Запомнить:
Забыли пароль?

Контакт
Powered by MySQL Powered by PHP Мобильная версия
Powered by SMF 1.1.20
SMF © 2006-2025, Simple Machines
Simple Audio Video Embedder
| Sitemap
Valid XHTML 1.0! Valid CSS!
Страница сгенерирована за 0,091 секунд. Запросов: 20.