No, you need to define the printer per user since it is a user profile specific. He said he has 4 machines, and 20 users. So if each user rotates through all those machines, there is a possibility of 80 installations x 4 printers, that will take a lot of time.
The bat file that I put up there does not have to be run everytime. Put it in the "All Users" desktop group, and everytime that user logs into the PC, there will be the bat file to establish his/her printer connections on the desktop, once and done. They aren't being installed everytime the user logs in as the desktop group isn't part of the startup group.
There are other ways of doing this like GPO, but I'm assuming that we aren't looking at a conventional network in a small scale setup like this. You could also use roaming profiles, which might be a better option for you overall in this case, but again I don't know your network topology. Matt