This is my code, hopefully there will be a better solution.
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Batch", Int64.Type}, {"Batch2", type text}}),
#"Filtered Rows" = Table.SelectRows(Table.Group(#"Changed Type", {"Batch"}, {{"Count", each Table.RowCount(_), Int64.Type}}), each ([Count] = 1)),
#"aaa" = Table.NestedJoin(#"Changed Type", {"Batch"}, #"Filtered Rows", {"Batch"}, "Table1", JoinKind.LeftOuter),
#"Expanded Table1" = Table.ExpandTableColumn(aaa, "Table1", {"Count"}, {"Count"}),
#"Filtered Rows1" = Table.SelectRows(#"Expanded Table1", each [Batch2] <> null or [Count] = 1),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows1",{"Count"})
in
#"Removed Columns"
Bookmarks