by disconnecting the batter wont it require that car be driven several hundred miles to reset the computer for a smog check?
Disconnecting the battery will not clear the history in the ECU. It will only clear the pending codes that are present. Disconnecting the battery will…on some vehicles…throw a code that the battery was recently disconnected and you will still have to do the drive cycles.
The Computer clears itself of codes by drive cycles. This is a combination of miles driven, but also many other data that the ECU receives. Engine starts, engine shut downs, proper operating temperature, etc. etc… I even think that the transmission needs to go through all gears.
Here’s the drive cycle that resets the readiness monitors.
Heck I like @Tester 's answer better than my own.