Comando fc do Windows 10: Comparação de arquivos separados por vírgulas

1

Eu tenho dois arquivos com 3 GB cada para fazer uma comparação e armazenar os dados da diferença no terceiro arquivo.

A seguir estão os dados da amostra.

Arquivo 1 : June_01_2018.csv

Arquivo2:June_02_2018.csv

Observação:desejoarmazenaradiferençanoterceiroarquivocomoscabeçalhosdascolunas.

Resultadoesperado:oterceiroarquivodeveconterosregistrosdeID11a15comoscabeçalhosdascolunas.

Meucomandotry:fcnopromptdecomando,

>fcJune_01_2018.csvJune_02_2018.csv>June_Diff.csv

Masobtendoresultadoinesperado:

    
por MAK 05.06.2018 / 08:23

1 resposta

1

As esperanças não têm nada a ver com expectativas (realistas).

O cabeçalho é exatamente o mesmo, então nunca poderia ser uma diferença.
Também a representação do excel é não o arquivo csv, você deve postar os arquivos originais como texto.

O arquivo de lote a seguir lê o cabeçalho e ecoa no diff.
Em vez de fc, usa findstr com opções

/B compare from line begin
/E compare upto line end
/V output lines **not** present in compared file
/G: get strings from a file
@Echo off
Set "File1=June_01_2018.csv"
Set "File2=June_02_2018.csv"
Set "File3=June_Diff.csv"

Set /P "Header="<"%File1%"
( Echo=%Header%
  Findstr.exe /BEV /G:"%File2%" "%File1%"
)>"%File3%"

Variante com fc

@Echo off
Set "File1=June_01_2018.csv"
Set "File2=June_02_2018.csv"
Set "File3=June_Diff.csv"

Set /P "Header="<"%File1%"
( Echo=%Header%
  fc "%File1%" "%File2%"|more +3 
)>"%File3%"

Isso deixa apenas a linha final.

    
por 05.06.2018 / 10:56