You can use ROW_NUMBER()
to get row numbers, but note that you have to specify an ordering for that, so your bcp will need to use the same ordering.
ROW_NUMBER()
can't occur outside a SELECT or ORDER BY, so you will need a subquery or CTE
E.g.
bcp "select * from `table` order by ID" <other bcp params> -F @First -L @Last
WITH rows AS (
SELECT <columns to be updated>, ROW_NUMBER() OVER ( ORDER BY ID ) rn FROM `table`
)
UPDATE rows
SET <some indicator>
WHERE rn BETWEEN @First AND @Last