3996875338
Sep 20, 2022
1210
5
0
Batch: Inhalt zweier Txt Dateien vergleichen
Hallo zusammen,
ich habe 2 Textdateien mit 450 und 300 Computernamen,
Ich möchte beide Listen (Textdateien) miteinander vergleichen und nur einfach vorhandene Einträge in eine neue Liste schreiben.
Und das ganze am liebsten per Batch
Ach ja, die Listen sind nicht sortiert...
Aufbau:
Liste 1 Alte Computer 650 PC´s
Computername02
Computername01
Computername04
Computername03
Computername05
Liste 2 neue Computer 450 PC´s
Computername02
Computername04
Computername01
Ich möchte also feststellen welche Computernamen aus Liste 1 in Liste 2 fehlen und diese in einer neuen Liste ausgeben.
Jetzt schonmal Vielen Dank für eure Unterstützung
LG Leon
ich habe 2 Textdateien mit 450 und 300 Computernamen,
Ich möchte beide Listen (Textdateien) miteinander vergleichen und nur einfach vorhandene Einträge in eine neue Liste schreiben.
Und das ganze am liebsten per Batch
Ach ja, die Listen sind nicht sortiert...
Aufbau:
Liste 1 Alte Computer 650 PC´s
Computername02
Computername01
Computername04
Computername03
Computername05
Liste 2 neue Computer 450 PC´s
Computername02
Computername04
Computername01
Ich möchte also feststellen welche Computernamen aus Liste 1 in Liste 2 fehlen und diese in einer neuen Liste ausgeben.
Jetzt schonmal Vielen Dank für eure Unterstützung
LG Leon
Please also mark the comments that contributed to the solution of the article
Content-Key: 3997361222
Url: https://administrator.de/contentid/3997361222
Printed on: May 4, 2024 at 09:05 o'clock
5 Comments
Latest comment
Ich möchte also feststellen welche Computernamen aus Liste 1 in Liste 2 fehlen
Pure Batch@echo off
set "liste1=D:\liste1.txt"
set "liste2=D:\liste2.txt"
set "ergebnis=D:\ergebnis.txt"
findstr /ivl /G:"%liste2%" "%liste1%" >"%ergebnis%"
@echo off
set "liste1=D:\liste1.txt"
set "liste2=D:\liste2.txt"
set "ergebnis=D:\ergebnis.txt"
powershell -EP Bypass -C "$liste1 = Get-Content '%liste1%';$liste2 = Get-Content '%liste2%'; $liste1 | ?{$_ -notin $liste2} | Set-Content '%ergebnis%'"
certguy
Geht auch Powershell?
Geht bestimmt auch eleganter
$a = Get-Content C:\tmp\a.txt
$b = Get-Content C:\tmp\b.txt
$result = @()
$a | ForEach-Object {
if (!($b.Contains($_))) {
$result += $_
}
}
$b | ForEach-Object {
if (!($a.Contains($_))) {
$result += $_
}
}
Write-Host $result
Geht bestimmt auch eleganter
Zitat von @3803037559:
Cheers
certguy
@echo off
set "liste1=D:\liste1.txt"
set "liste2=D:\liste2.txt"
set "ergebnis=D:\ergebnis.txt"
powershell -EP Bypass -C "$liste1 = Get-Content '%liste1%';$liste2 = Get-Content '%liste2%'; $liste1 | ?{$_ -notin $liste2} | Set-Content '%ergebnis%'"
certguy
Definitiv mit Where-Object -notin eleganter als meine Variante
Allerdings nicht ganz genau passend zu:
Zitat von @leonknoblechner:
Ich möchte beide Listen (Textdateien) miteinander vergleichen und nur einfach vorhandene Einträge in eine neue Liste schreiben.
Ich möchte beide Listen (Textdateien) miteinander vergleichen und nur einfach vorhandene Einträge in eine neue Liste schreiben.
Passt aber zu:
Ich möchte also feststellen welche Computernamen aus Liste 1 in Liste 2 fehlen und diese in einer neuen Liste ausgeben.
OP muss sich für eine Fragestellung entscheiden