Войти

Показать полную графическую версию : [решено] Удаление строк из файла 1 которые содержатся в файле 2


Mycry
06-01-2014, 18:37
Необходимо удалить строки из файла 1 (1 строка = 1 слово) которые содержатся в файле 2.
Заранее большое спасибо.

Mycry
06-01-2014, 18:54
Решение
@echo off
setlocal enabledelayedexpansion

set file1=file1.txt
set file2=file2.txt

set cnt=0

for /f "usebackq tokens=*" %%A IN ("%file2%") DO (
set /a cnt+=1
set str.!cnt!=%%A
)

for /f "usebackq tokens=*" %%A IN ("%file1%") DO (
set "f="
for /L %%B IN (1 1 %cnt%) DO if "!str.%%B!"=="%%A" set f=1
if not defined f echo.%%A>>file.tmp
)

move "file.tmp" "%file1%" /Y

Iska
07-01-2014, 00:51
Mycry, всё гораздо проще (http://forum.oszone.net/post-2282616.html#post2282616).




© OSzone.net 2001-2012