Batch files to automatically install software are best suited to supporting multiple workstations because the time and effort required to tweak installers, test systems for presence of current or older versions of software, command line switches to make installers run "quiet" or "silent", and clean-up commands to move or create shortcuts, remove autorun "helpers" or updaters make the maintenance of these batch files time-consuming. And saving and restoring individual settings are nigh impossible to manage with batch scripts, not because you can't do it, but because finding all the registry keys and %appdata% files is a daunting task.
I would suggest that you use ketarin.exe available from http://ketarin.canneverbe.com to keep your shareware/freeware programs and utilities up-to-date. Once you have configured Ketarin, you will be able to keep your existing system up-to-date on all your major and minor programs and if you have to rebuild your system, you can install Ketarin first, install your software database file, run Ketarin and download all your apps in one swell foop.
After that, you have to install your apps, but that process doesn't take as much time as finding all the downloads would take. And Ketarin is a useful tool for ongoing system maintenance, making the learning curve and effort to create your database worthwhile. There are templates available within Ketarin to download a large number of programs and you can create your own templates. I think you might get hooked and find the effort fun.
I haven't tried it yet, but Ketarin allows you to run commands before and after downloading apps, so you could in principle run tests, configure silent mode, and cleanup afterward by putting commands or references to batch files directly in Ketarin.
If you really are interested in writing scripts to do silent installs, http://www.msfn.org/, http://appdeploy.com, http://msdn.microsoft.com and http://www.installshield.com/ are sites worth visiting. I still use regular old
cmd.exe batch files, but Microsoft has developed PowerShell to make things like this easier. It uses Windows Management Instrumentation to find out how your system is configured, so your scripts can make proper decisions on what to do.
There are also tools to allow you to modify or create .msi installers, which have standard ways to tweak (or "transform") the installers and make them run silently. You can also make standard installations from zip-packaged utilities that makes it easier to uninstall these installer-less programs. But I think this is suitable only if you are supporting a fairly large number of users, say, 20 or more.