[BATCH] Comparación de textos

Iniciado por paynetex, 24 Mayo 2013, 21:51 PM

0 Miembros y 1 Visitante están viendo este tema.

paynetex

el problema es el siguiente, tengo
dos archivos

archivo1.txt

Administrator
All Users
usuario1
usuario2

archivo2.txt

Administrator
All Users

resultado

usuario1
usuario2

Lo que me gustaria generar de estos 2 txt que tengo, un txt "Resultado" que contenga la diferencia de estos dos, o sea como el ejemplo anterior, el resultado deberia mostrar:

usuario1
usuario2

trate de hacerlo con find y findstr pero no resulto no supe como :/

Eleкtro

#1
FC "1.txt" "2.txt"
Comparando archivos 1.txt y 2.TXT
***** 1.txt
***** 2.TXT
usuario1
usuario2
*****





FC "1.txt" "2.txt" | MORE +1
***** 1.txt
***** 2.TXT
usuario1
usuario2
*****





FC "1.txt" "2.txt"  | MORE +1 | findstr /V "^\*\*\*\*\* .+$" | Findstr "."
usuario1
usuario2


Saludos








flony

Supuestos

1)   El 1.txt es mas chico que el 2.txt
2)   El 1.txt debe tener la informacion que consideramos "verdadera" y el 2.txt tiene informacion de mas "no verdadera" o renglones con informacion en exceso
3)   El 1.txt y el 2.txt tienen informacion similar
4)   El 1.txt se llama IDEAL2.txt y el 2.txt se llama lista2.txt
5)   Los renglones iguales se borrar del los dos txt
6)   El 1.txt queda vacio y en el 2.txt quedan las diferencias

@echo off
:contador1
 set /a contador=0
for /f "tokens=*" %%_ in (IDEAL2.txt) do (
   set /a contador+=1)
set /a var=%contador%

:ini
if %var%==0 (goto fin) else set /A var=%var%-1
<"IDEAL2.txt" set /p "string="
set "string"
for /f "tokens=1 delims=:" %%_ in ('findstr /i /n /r "^%string%" "lista2.txt"') do (set "n_line=%%_")
(ECHO %n_line%dECHO E) | EDLIN /B lista2.txt > nul 2>&1
(ECHO 1dECHO E) | EDLIN /B IDEAL2.txt > nul 2>&1
goto ini
:fin
echo listo ;)
si un problema no tiene solucion entonces no es un problema...es algo inevitable